API Async methods

Add Async and Syncronous methods to the API classes

ID field on API models are private setters now. Mark with [JsonProperty]

Tests now use blocking calls instead of async methods