[#407] db_to_form_package_schema don't strip keys

Add empty lists to db_to_form_package_schema() for several keys that
normally appear in dicts from package_show, but that were being stripped
from thos dicts when db_to_form_package_schema() was used (i.e. when an
IDatasetForm plugin was active). Fixes #407.
[#415] db_to_form_package_schema() don't strip keys from resource dicts

Add several keys to the 'resources' subschema in
db_to_form_package_schema() so that validation doesn't strip the keys
from the resources dicts. This fixes a test that was failing if run with
an IDatasetForm plugin active, and may also fix some template crashes
when an IDatasetForm plugin is active if people are accessing these
resource keys in their templates.

Fixes #415.
Remove free_tags_only from db_to_form_package_schema()

Remove the free_tags_only converter from db_to_form_package_schema's
tags subschema.

This fixes a couple of tag vocabularies tests that were failing.

Not sure if this at the same time breaks something that we don't have
tests for, we may have to put this back in later if we find a problem.
Delete some unhelpful comments

Not clear what these comments mean or whether it's still true.
navl.validate: unflatten before restoring empty lists
navl.validate: fix key names in restored empty lists
[#375] Add license_title back to db_to_form_package_schema()

Looks like this got removed by accident, so license titles weren't
showing on dataset pages.
Revert "Remove free_tags_only from db_to_form_package_schema()"

This reverts commit aaa10bbff6e4c704e58f651f13b5b18cfa0a2571.

The free_tags_only converter is needed after all, because it prevents
vocab tags from appearing as normal tags on the dataset read and search
pages.

Reverting aaa10bbf means that a couple of tests are failing, but I think
it's the tests that are wrong not the code.
Merge branch 'master' of github.com:okfn/ckan into idatasetform-fixes
[#417] Don't pass api version to form_to_db_schema_options()

Fixes #417.
Revert "[#417] Don't pass api version to form_to_db_schema_options()"

This reverts commit e023d8a5f50baf3931e2610eaa433b5653227154.

e023d8a5 was the wrong fix and broke a bunch of tests, package_update()
was only passing 'api': True if it was in fact called via the api, which
is what it should do.

The real bug is in the package controller's _save_edit() method, which
puts the api version in the context even though it's a web ui method not
an api method. I'll fix that in the next commit...
[#417] Package controller: Don't put api version in context on package update

Don't put 'api_version' in the request context when calling
package_update() from the package controller, it makes package_update()
think it's being called by the api when in fact it's being called by the
web ui, and that then breaks IDatasetForm.
Add some more surplus keys to DefaultDatasetForm

Add some more surplus keys to DefaultDatasetForm's check_data_dict(),
this fixes a crash when updating a package over the web ui when an
IDatasetForm plugin is active.
Merge branch 'master' of github.com:okfn/ckan into idatasetform-fixes
[#417] Update a couple of tests broken by commit e023d8a
[#396] Add a comment
[#396] Delete a commented-out line
[#560] Skip datastore sql tests in legacy mode
[#560] Pep8
[#560] Do not ensure separate read and write urls in legacy mode