Conservatives and LibDems accepted hundreds of thousands of pounds to help fight the general election from companies linked to tax havens.