Boris Johnson is fighting for his political life after being accused of lying to parliament about whether he knew the Downing Street party broke the rules.