Implemented defer(..) and only(..) queryset methods

Output fields can be specified by also in some internal methods.
Enabled and improved tests for deferred fields queries.
Tested the minimal number of queries for defer(..) and only(..)
Added settings SF_PK for configurable primary key name: 'Id' or 'id'.

The similar undocumented feature for individually configurable names sf_pk
by models has been removed.
Implemented multiple inheritance of database Model from more abstract models.
Fixed SalesforceModel for proxy models.
Added tests for multiple inheritance (abstract models, proxy, mixins).
Fixed unimportant inconsistent spaces/tabs in Python code etc.
Implemented dynamic authorization by authenticate tokens that can be changed

at every request according to the current user.
Fixed HOST of dynamic auth for the case that no static auth configured.
Added tests for dynamic auth.
Implemented dynamic instance_url for dynamic auth.

It is not mounted together with max_retries=MAX_RETRIES as is usual for static
configuration.
Preserved order in get_classes_texts to improve reusability.