Synchronization Strings: Codes for Insertions and Deletions Approaching the Singleton Bound