Prince Harry and Meghan Markle will tie the knot at Windsor Castle in May 2018, Kensington Palace has confirmed.