Added global config option DISABLE_FIELD_VALIDATE_ON_SET_VALUE

Whenever a field is set to a new value the field first makes sure that its
current value is valid.  This means when the field is set but has not previously
pulled its value from Shotgun a db query will happend so that the field can
check if the new value is the same value stored in Shotgun.  This helps in not
flagging fields as having updates when the new value is already the current
Shotgun database value.

Because some may not like this functionality it can now be disabled by setting
the config option DISABLE_FIELD_VALIDATE_ON_SET_VALUE to True and fields will
always set their value without first validating.
Added function SgEntity.fieldSetValues() for setting multiple field values

SgEntity.fieldSetValues() allows multiple field values to be set at once.  This
helps when setting multiple fields and DISABLE_FIELD_VALIDATE_ON_SET_VALUE is
set to False.  When DISABLE_FIELD_VALIDATE_ON_SET_VALUE is set to False the
fields are validated at once to help limit the calls to Shotgun.
SgConnection added arg "fieldValuesOnly" to clearCache()

SgConnections clearCache() function now includes an arg "fieldValuesOnly" which
when set to True, default, the cache for field values will only be cleared and
all weakrefs to currently alive Entity objects will be left untouched.
Added global config option DEFAULT_CONNECTION_CACHING

ShotgunORM.config.DEFAULT_CONNECTION_CACHING is the default value that
SgConnections look at for determining whether to enable/disable Entity caching.
Changing this value will only affect new SgConnection objects and not any
pre-existing ones.
Merge branch 'develop'