Issue #13599 WIP: created project layout

I think models are moved to correct apps. Still this shouldn't be able to work.

Most of the imports doesn't work. These parts hasn't been moved:
* forms
* templates
* tests
* views
* urls

Hopefully I'll do it tomorrow :)
All models should have good code within.

It means that you should be able to run GWM without errors about
missing includes from `models.py` files.

But it doesn't mean you can actually run the code. There are probably
thousands of errors out there in the wild.
Cluster views moved to clusters app
Moved views to apps: jobs, nodes, auth, virtualmachines.

Also there are new utils and ganeti_web views are improved.
Moved static and templates out from `ganeti_web` app into space with all the apps.
Splitted urls into specific applications' urls.py
Changed README syntax to RST.
Fixed some RST mistakes.
New app: vm_templates

I decided to split GWM into one more app: Virtual Machine templates.
Previously much of its code was in virtualmachines app and in ganeti_web
app.

Now it's all moved to separate Django application.

Now off to make tests work!
Resolved circular imports in models.

I helped myself with this specific notion of FK in Django:

    blah = models.ForeignKey("app.ModelName")

everywhere.  At last there's some consistency now.
The only exception are Django models like User, Group or ContentType.
Those are imported and then passed through to the FK field.
HUGE: moved tests to separate apps.

Tests are finally working!  They still spit out lots of errors
(I must have screwed up urls imports somewhere), but they work.

I mostly moved test files to appropriate directories, changing imports
on the fly.  In some cases I decided to split test files in two (e.g.
when they contained TestCases for both models and views).

In one case I did little refactoring (TestCase was injecting
``globals()``).

It's 2:35 AM and I don't remember anything else I might have worked on
today.  So this is not a very helpful commit message.  Sorry.
Fixed some typos and little mistakes.

I'm making tests run.  So far there's lots of errors and I have no
idea if I caused them.  I'll be fixing 'em soon.
Fixed my email address.

As a side note: I'm 5th biggest contributor to GWM!
Still way to go to beat Peter :)

1400  Peter Krenesky <peter@osuosl.org>
957  Trevor Bramwell <bramwelt@osuosl.org>
523  Corbin Simpson <simpsoco@osuosl.org>
210  Rob McGuire-Dale <rob@osuosl.org>
147  Piotr Banaszkiewicz <piotr@banaszkiewicz.org>
Fixing tests (TBC): import errors
Tests: only some failures related to forms are left

It has something to do with HTML? And maybe form fields. We'll see.
Fixed one bug from test suite.

It failed to use appropriate template for user profile view.
Django used the one from muddle_users templates directory,
but we're overriding this view to use different template.

So now we override correctly.
Tests: fixed proxying in virtualmachines.tests using dirty hack

I'm not proud of it.  CallProxy (used by RapiProxy) apparently doesn't
work on module functions.  I don't want to introduce another Proxy
just for the sake of these tests.  I will, however, look closer, as
one test errors.

There's also some code/comments/etc to be cleaned.
Tests: mostly working! Still one tiny issue to fix.
Fixed custom field import error in migrations
Renamed ganeti app "auth"->"authentication".

B/c previous name was getting south confused.