Allowing Insert or Update (Upsert) of a Record Using an External ID.

This change adds the upsert functionality found in the api docs to the force client.

###### api docs on using Upsert
https://www.salesforce.com/us/developer/docs/api_rest/Content/dome_upsert.htm

###### caveats
* The unit tests created for this change assume that an external ID field, “ExternalID__c” has been added to Account. 
* I'm not sure about the name UpsertExternalAsync