Trump vetoes 'unconstitutional' defence bill