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
Since the series is part of the bundle definition that seems to be something we have the data to determine and should not require the user to enter. There's also the fallback of latest release for promulgated charms. This lets me create a bundle that works from trusty/precise without needing to update the bundle. It just grabs the latest version of the latest charms available and attempts to make them work and use them.