Michael Cohen brands Trump 'racist' and 'a cheat' in testimony to Congress