Bug 1089718 - [music] Make the metadata parser sane

I am. Fixed.

Other than adding promises, this code is identical to how it was before.