Update how we handle CKAN spec version numbers

- New version numbers are in the form `vx.x`. Eg: `v1.2`
- '1' is a special case for the historic spec.
- Only clients equal to or greater than the spec version will read that metadata.
- Gracefully handle future specs and validation errors by skipping those modules.
- Updated schema and documentation.
- Includes tests.