Switch worksheet serialisation to async
Now that async is established in Python and we have 3.6 as a baseline, it's probably time to rewrite worksheet serialisation to use async code as this might make it slightly easier to maintain: I've always hated yield from
as a way to implement coroutines.