Implement SHARED_MODELS feature

Make use of SHARED_MODELS list in settings.py. Shared models will forced
into the public schema, by manipulating the CREATE query.

Syncdb Code copied from Django 1.6.x branch, but it should work on django 1.5.x
too, because there are no substantial differences, just a pre_sync_model signal.
Implemented SHARED_MODELS feature Fixes #43

* Added shared_models list to connection
* Switched DatabaseCreation to the new schema-aware implementation
* Removed example.com creation signal from tenant creation
DatabaseCreation already has the connection attribute
Update documentation for SHARED_MODELS setting.
Not force the reference to public for apps which are in TENANT_APPS too.
Fix a previous mistake in shared_models property

The previous commit compared unconverted model strings to models…
Change references in ALTER TABLE queries too.

Django for some reason make references to tables two different ways.
One is in CREATE TABLE statements, other is in "ALTER TABLE" statements.
Both are covered now.
Modified sync_schemas command for SHARED_MODELS feature.

Added tenant_models and shared_models properties to connection.
FOREIGN KEY creation to public tables doesn't work yet!
FOREIGN KEY creation to public tables is also working now.