Boris Johnson accuses the opposition of knowing better as they block early general election