US National Security Adviser John Bolton has been sacked after repeatedly clashing with Donald Trump on foreign policy.