Add revision module (with uchaguzi fixes) and add core hooks needed

This plugin records full diff's of what changes each time a report is saved
it only handles core fields, not plugins (ie actionable) but its better
than just core.

Implementation isn't great: its saving serialized blobs and it may have some
effect on performance as revisions built up. If it looks like its a load issue
we can just disable the plugin.