Improvements on the validation code

To make easier to filter and display errors on the UI, the validators
have been modified to return the message and line number separately. The
return format for validators is now:

(is_valid, [(error_message_string, error_line_number)])

Also the XSD based validators were returning only the last error found on
the document, instead of iterating the whole error log. Harvesters should
create a harvest object error for each of this validation errors.

Tests have been adapted to these changes.
Update harvesters to new validator outputs
Save line if present when storing object errors
Encode remote documents from CSW servers as unicode
Reduce log level for harvest object errors
Add method for adding custom validators

This probably needs to be done properly, adding them once on startup
somehow.
add extra resource locator
Merge branch 'release-v2.0' into 2.0-validation-changes
Merge branch 'release-v2.0' into 2.0-validation-changes
Merge branch '2.0-validation-changes' into release-v2.0
Added useful logging to the validation report. Useful to have the date (i.e. version) in the name of the Eden schema.
Get the validation XML to be included in the distribution.
Added new Parslow Constraints Schematron to test. Added command to validate on the command-line.
Comments about on cardinality/multiplicity.
Added lower level tests for bbox search (at the lib level), complementing the API level ones.

Conflicts:

	ckanext/spatial/plugin.py
Adding Parslow constraints schema previously missed.
Spatial query can now be ordered. Does not play nicely with SOLR options - just uses that to get the facets counts and return each result. Have added performance tests for two alternative queries.

- Added a config option ('ckanext.spatial.use_postgis_sorting') to
activate this as this behaviour will be deprecated in the future
in favour of Solr 4 spatial sorting capabilities.
Also fixed the tests

Conflicts:

	ckanext/spatial/plugin.py
Add XSL for converting Gemini XML to nice HTML, used in controllers/api.py.
More debug logging added to WAF harvester.
[xs] Improve docstrings and error messages.