Add in-memory-per-request cache middleware

found at: http://stackoverflow.com/a/8759188
Circumvent circular imports: Move middlewares into seperate modules
Improve django admin for Player

* Make Campaign a read only field. We want Players to join campaigns themself and
  not be assigned by admins. Also The Campaign should never be changed.
  The Army field depends on the Campaign and won't be updated dynamically
  in the django admin (if we come around and filter the options for that field).

  Also we have to take care of division/rank/medal options cause they depend
  on the army. Maybe we should write a custom /abc/..-form for them and
  asign only the defaults to them if the army is changed.
* Put several CampaignParticipation fields into rows.
* Display Playername colored if he is in an army in the current campaign
Install django-extensions and graphviz

Gimme dat fancy model diagram.