Cost of fraud for UK charities reaches £2bn a year