Migration awareness

This PR makes CleanerVersion aware of migrations. A Django application including CleanerVersion-Versionables in its models can now be migrated. 
It also resolves issue #22, which comes down to wrongly generated SQL-statements due to incorrectly guessed relationship table fields (by Django).
I think this piece of code, together with the small change you did on line 451 (just above) it the core part of fixing the reported problem.

Therefor I would propose to add some comment above this code as to explain why it is needed.

From what I understood here is what I would write:

"Since Django 1.7 a migration mechanism is shipped by default with Django. This migration module loads all declared apps' models inside a __fake__ module. This means that the models can be already loaded when we reach this point of the application and therefore there is no need to load them a second time. The code below does this check and act accordingly."

IMPORTANT:
Since Django migration is inherited from South (migration system used before 1.7) I wonder what is happening when using Django 1.6.X together with South? Does South do something similar to Django 1.7? Therefore should we test alongside the Django's version number if South is present and act in the same way as we do when running under Django 1.7