Use Django dispatcher instead of CherryPy dispatcher

This branch depends on earlier module system cleanup. Please merge that one first.

There is a big commit in this merge because anything small breaks the code. Highlights:

- Django dispatcher is based on regular expressions and does not need a tree structure
- Reduces a lot of unnecessary dependencies among modules
- Use Django sessions middleware instead of CherryPy sessions
- Introduce dependency based modules instead of numeric load order
- Remove PagePlugin and simply use Django views
- Eliminate page rendering wrappers in favor of Django context processors
- Use custom auth for now until replaced by Django auth middleware
- Use Django templated 404 and 500 error pages