Simplified SalesforceModel to not switch classes.

Solved by backporting "with_metaclass" from Django 1.7 to Django 1.4
Improved foreign key parameters to work usually also without db_column.

The suffix "Id" is automatically added to the foreign key name if no
 'db_column' is specified.
Support for tests with SQLite
Fixed deprecation warning, cleaned code readability to DJANGO_*_PLUS
Fixed SF router an manager to be possible run tests in the memory

with SALESFORCE_DB_ALIAS='default' and still explicitely select SF
record set by '.using(db).' or even SF manager by '.db_manager(db).'.
Updated tests to demonstrate running with sqlite3 backend.

These tests can be fixed by modified example/models.py: 'managed=True'
or 'auto_now=True'.
One half of tests is skipped because they strongly depend on SF.
Some are reported as skipped in the half of test, though the first part passed.
Fixed code and tests that relate datetime to work also for sqlite3
Refactored simple code to be DRY
Improved test to demonstate SF managers with sqlite after db_manager
Updated docs
Merge pull request #60 from hynekcer/sqlite-tests

Running tests in memory