Owen Smith has been sacked from the shadow cabinet after breaking ranks with Jeremy Corbyn by calling for a new EU referendum.