In final speech, Nick Smith apologises for voting against marriage equality, fulfilling promise to son