British Prime Minister Theresa May and her main opponent Jeremy Corbyn battle for votes on the final day of campaigning for a general election darkened by recent terror attacks.