Add a deletions table
Add m.room.deletion. If an event is deleted it will be returned to clients 'pruned', i.e. all client specified keys will be removed.
Make sure we don't persist the 'pruned' key
Add prune_event method
SYN-12: Implement auth for deletion by adding a 'delete_level' on the ops levels event

SYN-12 # comment Auth has been added.
Rename 'pruned' to 'pruned_because'
Add v4 deltas to current sql.
Fix test.
Fill out the prune_event method.
Fix bug where we didn't correctly pull out the event_id of the deletion
Make deleting deletes not undelete
Rename deletions to redactions
Add test for redactions
More tests.
Add LIMIT to scalar subquery
Rename redaction test case to something helpful
Don't strip of False values from events when serializing
Don't strip out null's in serialized events, as that is not need anymore and it's not in the spec (yet)
Merge branch 'deletions' of github.com:matrix-org/synapse into develop