[#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
[#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
[#1183] Show very simple indicator for job status on resource page
[#1183] Fix url
[#938] Fix datapusher test
[#1183] Add snippet for datapusher status indicator
[#1183] Clean up template code
[#1183] Only show for users who can edit resource
[#1183] Don't use get_action because it will be deprecated in #1193
[#938] Use datapusher_enabled action instead of checking whether it is enabled ourselves
[#1183] Add file that I forgot
[#1183] Add file that I forgot
[#1196] Move datapusher code into separate extension
[#1163] Users can be deleted

To do this, I've configured the User model to be stateful using vdm.sqlalchemy.
Right now, there're two states: active and deleted. If a user is deleted, he
can't login, and is unauthorized to do anything. She also doesn't appear in the
user's list anymore, but you can still access her profile page, if you know her
username.

If she was logged in when her user was deleted, the next time she goes into
CKAN, she'll be logged off. Unfortunately, there's not a useful message like
"Your user has been deleted." Yet.

There's no way to undelete a user, but it should be simply creating an
action to set her state to active.
[#1163] Use ckan.model.State instead of vdm.sqlalchemy.State

This makes us a bit less tied to vdm.
[#1163] Use ckan.model.core.State instead of ckan.model.State

With this change, we're able to avoid having to load ckan.model inside methods,
to avoid circular dependencies.
[#1178] Add PENDING state to User
[#1178] The user is activated when it performs the reset password