Jean-Claude Juncker has issued a direct threat to David Cameron and said he is "not willing to compromise" on the issue of the freedom of movement of migrants within the European Union.