Updated spec and schema to be in line with Debian standards

- `requires` is now `depends`
- `pre_depends` and `suggests` are allowable fields
- These are referred to as `relationships` in the schema
- Bundles are formally discouraged, as they may result in different
  installs if incorrectly packaged.
Updated ckan-validate to do more stringent processing.

We now consider it a validation failure if we have a field in our CKAN
file that is *not* mentioned in the schema.

Note that only top-level fields are checked with this update, but
that's still better than not checking them at all!
Documented special use fields and extensions.
Merge pull request #46 from pjf/schema_update

Update CKAN schema and spec, and more stringient validation.