Boris Johnson apologises to UK MPs over partygate fine