[#1011] Fix a 500 to a 404

Catch Genshi TemplateNotFound errors when rendering the package read
page. This can happen if an IDatasetForm plugin returns a custom package
read template, e.g. 'read.html', but the user has requested the dataset
in RDF format and the plugin does not provide a corresponding 'read.rdf'
template. (CKAN will take the path to read.html, replace the filename
extension with rdf, try to render this non-existing template file, and
crash.)

Replace this crash with a proper 404.

Add to the IDatasetForm docs, explaining how to provide RDF templates
for datasets.

Fixes #1011.
Add coverage reports with coveralls
[#1117] Add new_tests dir with first new logic tests

Eventually (before this branch is merged into master) new_tests should
become tests and the current tests should become legacy_tests.
[#1117] Add new tests for updating user names and passwords

...and also for what happens when you call user_update without a valid
id.
[#1117] user_update don't crash on non-string name

Don't crash if the user tries to update their user name to a value that
is not a string (which they can do, using the API)
[#1117] user_update: don't crash on non-string password

Fix a crash that happens if the user tries to update their password to a
value that isn't a string (which they can do, using the API)
[#1011] Refactor an exception raise and catch

Raise and catch a CKAN exception, instead of a Genshi one.
Merge branch 'master' of github.com:okfn/ckan into 1011-template-not-found
[#1117] Typo
[#1117] Make various improvements to test_update.py

- Add some notes to the top of test_update.py about what I'm trying to do with
  it, these will end up in the testing guidelines
- Make the static test data read-only
- Rename some of the test methods so that they're all test_user_update_*
- Add test_user_update_activity() test
- Other small tweaks
[#1117] Add some more user_update invalid password tests
[#1117] Fix some bad indentation
[#1117] Add user_update custom schema test
[#1117] Add test for user_update's defer_commit option
[#1117] Add draft testing coding standards doc
[#1117] Add a few new-style tests for user_update auth
[#1117] Never return reset_keys in user dicts

Like the user's password, there's never any reason for a user dict to
contain their reset key (even if the user dict is being generated for
the user herself or for a sysadmin)
[#1117] Add docstring and unit tests for ignore_missing validator
[#1117] Add another ignore_missing test
[#1117] Add some asserts to ignore_missing tests