don't leave id records behind when unit testing
simplify users_controller_test
cleanup records after running user integration tests
Account: Composition to handle User and its identities

We have a lot of things that act upon a user record and one or more of it's identities at the same time:
* Sing up: Create a user and it's initial identity
* Rename:  Change the username and create a new identity, turn old into an alias
* Cancel Account: Remove user and all their identities.

In order to keep the User and Identity behaviour isolated but still have a this logic represented in a sinle place the Account model deals with all these things.

We could have overwritten the User#create, User#update and User#destroy methods instead. But then we would always create identities, even if we only need a user (for example in tests).
do not leave behind users in billing unit and functional tests
different tests need different names
remove the user after integration testing customer creation
remove unneccessary user creation and destruction in ticket test
Merge pull request #73 from azul/bugfix/3623-teardown-test-data-properly

Bugfix/3623 teardown test data properly