Chelsea have signed Borussia Dortmund forward Christian Pulisic for £58m but will loan him back to the German club until the end of the season.