Merge branch '62-new-iso-fields' into 63-extend-spatial-harvesters
[#63] Add new ISpatialHarvest interface

Two extension points: ``get_package_dict`` and ``transform_to_iso``,
with the same expected behaviour as the old hooks meant to be overriden.

For ``get_package_dict`` we now pass, apart from the generated
package_dict, the parsed iso_values and the harvest object.

Updated docs and added autodocs.
Merge branch 'master' into 63-extend-spatial-harvesters
Merge branch 'master' into 63-extend-spatial-harvesters
[#63] Add user to delete context to avoid exception
[#63] Add previous_object check

In rare cases (eg if there was a previous error of two objects sharing
a guid) we can have a "changed" state and no previous_object
Merge branch 'master' into 63-extend-spatial-harvesters
[#63] Tweak docs
Merge branch 'master' into 63-extend-spatial-harvesters
[#69] Reindex dataset if harvest object did not change

We replace the old harvest object with the new one, and if we don't
reindex the reference to the old harvest object will remain in the
dataset dict
Merge branch '69-reindex-dataset-no-object-change' into 63-extend-spatial-harvesters
Merge branch 'master' into 63-extend-spatial-harvesters

Conflicts:
	ckanext/spatial/harvesters/base.py
Merge branch 'master' into 63-extend-spatial-harvesters
[#63] Add extra stuff to the get_package_dict extension point

Moved the call to get_site_user higher on base.py so it's available to
extensions. Also added the parsed XML etree so it does not need to be
parsed from the string again.
[#63] Added extension point for defining custom validators
Merge branch '63-extend-spatial-harvesters'
[#69] Add config option to keep old behaviour (not reindex)