First step in bringing more consistency to how things handle global state.

The main, nay only, bit of global state is the Play.current application. References
to this have now been removed from most places outside controllers (if not all.)

This creates some interesting situations in the current test config which uses
some stateful objects to buffer things, e.g. mails sent etc, since the objects
outlive the application. This breaks things like caching. More work still needed
to bring greater clarity here, perhaps by keeping stateful buffers outside of the
objects themselves, which will be reinstantiated at app start.
 Test global state refactoring.

More mutable state in testing is now more centralised. The user DB
fixtures are still global however.
Merge branch 'master' into virtual_collection_rework

Conflicts:
	modules/core/app/backend/rest/RestSocial.scala
	test/integration/VirtualUnitViewsSpec.scala