Much better support for Django including SF name spaces

I added many new features.

More readable models can be written that are much more compatible with Django conventions, e.g. a field name "last_name" that is automatically assigned the database column "LastName" if no db_column specified.

Also objects from managed packages are supported without necessary db_column and without repeating the name space prefix. The typical custom API names with single underscores created by SF App Setup, like 'Balance_Due__c' or 'ChargentOrders__Balance_Due__c' can be generated from the field name 'Balance_Due'.

 See the changed README.

I tried to write everything backward compatible so that all previously created models work unchanged. 
Every commit solves one thing (small or big) and works correctly without applying next commits. They are easier readable than the combined diff. I tested every commit separately, including the automated test for inspectsdb and the read/write test on the exported model.

This require some time for discussion and practice. Maybe to be pulled it into a separate branch when you check it rougly.