Boris Johnson has announced he wants to hold a snap general election on the 12th of December. It comes as he has faced a battle to get his new Brexit deal through Parliament.