INSTALLED_APP order warning

Older versions of django require specific ordering to where actstream goes so
I wanted to make this very clear
Allow string references to models in register

For Django < 1.7, it is hard to find a place to call:

    registry.register(MyModel)

As if it is done at the bottom of a `models.py` file then the
`get_model('actstream', 'Action')` call in the `setup_generic_relations`
triggers Django to try to import all the models again (as it was only
half way through before.) This can then hit another `register` call in
another `models.py` file which calls the same `setup_generic_relations`
function which calls `get_model` again which then has a recursion check
(I think) and return `None` which causes an exception in the `setattr`
call further down the function.

In order to avoid this issue, the patch allows users to register string
references, eg. 'myapp.MyModel', instead of actual classes and then we
call a new `ready` method on the `ActionableModelRegistry` from the
`ActstreamConfig.ready` method which goes through the string references,
imports the models and registers the actual class.

We could have a separate register_string_reference method instead of
having an `isinstance` check in the current `register` method. I would
prefer this but I think it is more idiomatic Django to allow a method to
receive a Model or a `myapp.MyModel` style reference.

With this approach, we still have trouble if the `actstream` app comes
before the apps with models to register in the Django INSTALLED_APPS
list.
Add exception and potential explanation in error situation

If the `get_model` call has failed then we can assume there are some
circular imports in the initialisation so we try to suggest a potential
solution but otherwise make sure that we throw something that looks
vaguely official instead of getting an AttributeError from the setattr
call.