Bug 1089718 - [music] Make the metadata parser sane

This code is confusing to me, but I'm still getting used to Promise idioms. Probably nothing you can do here other that give really verbose comments. But that would probably just obscure it for readers who are familiar with Promise idioms.