Christian Aid slams Cameron's 'shoddy' tax deal with Switzerland