Cameron calls British EU referendum for June 23