refactor: Identity.disable_all_for(user) on user destruction

This way the identity model defines how identities should be disabled. We currently still destroy them. But it will be easy and nicely isolated to change this next.
disabled identities to block handles after a user was deleted
Identity.destroy_all_disabled will clean up disabled identities

This is mostly for cleaning up after tests so far. But we might expand this to destroy all identities disabled before a certain date.
refactor: extract method on account test

also test one can't login anymore after destroying the account.
integration test for blocking handles after account destroyed

has not been run yet.
refactor: split up and cleaned up ticket validation tests
Ticket.destroy_all_from(user) - remove all tickets created by a user

We'll use this to clean up after user destruction
destroy all tickets created by a user when account is destroyed

In order to keep the users engine independent of the tickets engine i added a generic load hook to the account model. The tickets engine then monkeypatches the account destruction and destroys all tickets before the user is destroyed.

The tickets are destroyed first so that even if things break there should never be tickets with an outdated user id.

I would have prefered to use super over using an alias_method_chain but I have not been able to figure out a way to make account a superclass of the account extension and still refer to Account from the users engine.
use the account lifecycle from UsersController#destroy
only check number of disabled identities to make test more robust
removed outdated test.
Merge pull request #109 from azul/feature/clear-all-data-of-deleted-user

Feature/clear data of deleted user