Leftist Spanish Prime Minister Pedro Sánchez has been re-elected to his post after brokering a controversial amnesty deal to garner key support from Catalan separatists.