Switching between iPhone and Android devices has always been a notoriously messy and time-consuming process, often leaving users with missing app data, incomplete media transfers, and lost messages.