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
That's right - as the doc comment says, it verifies for internal consistency only.
The intention is to add another method that will verify a bundle against a specific
set of charms.