charm: add BundleData, parser and Verify method.

This is the start of the bundle specification discussed at https://docs.google.com/document/d/1SF8hTBi6oVbki8V__beNij6wnQU-5cm6PZsy5gf0j_Y
This is the format that the GUI has been exporting and nearly all bundles will be using it. If that does not work we need to discuss the advantages of the change and a method of mass converting all bundles, update the gui to export a proper format, and then send a very loud and broad alert to users that all of their current bundles they've generated over the last year are broken.