[#2750] Add example_idatasetform example extension
[#2750] Improve IDatasetForm docstrings

- Rewrite the IDatasetForm docstrings to make them clearer,
  and conform to PEP257
- Reorder methods in IDatasetForm and DefaultDatasetForm
  so that they're 1. in a more logical order and 2. in the
  same order as eachother
- Tell autodoc to put the methods in source-code order,
  not alphabetical, in the sphinx docs
- Remove docstrings from DefaultDatasetForm that are
  exact repeats of corresponding docstrings in IDatasetForm
- Add edit_template() to IDatasetForm, it was missing

db_to_form_schema_options() and form_to_db_schema_options() and some
other schema methods in DefaultDatasetForm are still missing from
IDatasetForm but I'm leaving it that way for now, consider them
unofficial.
[#2750] Delete 'Customizing Forms' docs

They are out of date, and we have ckanext/example_idatasetform instead
now.
[#2750] Rewrite tag vocabularies docs

Change the tag vocabularies docs to refer to the working example in
ckanext/example_idatasetform instead of providing their own detailed
instructions.

Also add some more general explanation at the start about what tag
vocabularies are for/why you might want to use them/what you can do with
them, it was all a bit mysterious.

Remove some false claims from the Properties section, I don't think that
the restricted/free vocabulary types are implemented (they are either
always restricted or always free, can't remember), vocabularies do not
have descriptions.
[#2750] example_idatasetform use toolkit not logic

Use ckan.plugins.toolkit instead of ckan.logic in ckanext/example_idatasetform
Merge branch 'master' of github.com:okfn/ckan into example_idatasetform_without_tests
[#2750] Add a convert_to_extras field to ExampleIDatasetFormPlugin

Add another custom field to ExampleIDatasetFormPlugin, one that uses
convert_to/from_extras instead of convert_to/from_tags.

I also had to make the plugin disable DefaultDatasetForm's
check_data_dict() because it breaks with the new three-stage dataset
creation when using convert_to_extras.
[#2750] Fix tag editing test in example_idatasetform
[#2750] Edit some other fields in example_idatasetform test

Test that normal dataset fields can still be edited when using
IDatasetForm.
[#2750] Finish example_idatasetform tests

This just finishes up the example_idatasetform tests that count how many
times the per-dataset-type templates are called.
Merge branch 'example_idatasetform_without_tests'

Conflicts:
	doc/tag-vocabularies.rst

    removed
    This needs to be done via the action API (:doc:`api`). Please check
    the examples section to see which calls are needed.