Boris Johnson apologises in Parliament following partygate fine