Supporting cache mode for SObjectType.

Also enforcing synchronized server calls to avoid duplicate server requests.
+ test