Boris Johnson has announced a host of new coronavirus restrictions for England to combat the sharp rise in cases and says they could last for six months.