Multiple Salesforce databases support

Supported more Salesforce databases in an application.
    
- The setting SALESFORCE_DB_ALIAS is the name of the primary Salesforce
      database. It is possible to completely change the precedence of databases
      and 'salesforce' can be the name of secondary SF database.
- The SF database can be selected by `.objects.using('some_sf').filter()`
      and by `.save(using='...')` for saving new objects.
- Foreign keys correctly relate to objects in the same database.
- An obsoleted auth session causes reauthentification of the right database.
- Some some features can be tested only if more Salesforce databases are
      defined in DATABASES settings.
- Modified auth.authenticate parameters so that the old usage should raise
      a clear exception. (though a compatible solution was functional, but it was
      less readable.)

It is implemented in the first commit.

More commits are added with different small features and fixes.

Typo/wording change: "authenticate function signature has been  changed"