There doesn't appear to be a way to do either of the above - how would I get around this using the SDK?
Setting the HTML or Text version of the email is a depricated field that Constant Contact is no longer supporting going forward so it is not available in our v2 API. It will not be added at any point and, in fact, will be removed from the UI for 100% of our customers in the near future (~80% of our customers already do not see it as we are migrating to our new Contact Managemet System). This field is simply not needed anymore as we send both an HTML and text version of every email and all modern email clients decide the appropriate version to display per the users individual settings. This allows for much greater flexibility when subscribers now read their emails on so many different platforms (mobile, tablet, desktop, web clients), one setting for all those devices no longer makes sense.
Regarding the state field, we did add this to the API in Dec. It is certainly possible that one or more of our SDKs are not updated to add that field. If there is a specific SDK you're looking at, let us know and we can look at adding it. Alternatively, feel free to add that to the SDK yourself and send the update back to us in a pull request on Github. If you do not want to wait for us to have an update, this is likely the faster option for you. Documentation for that field is found here: http://developer.constantcontact.com/docs/contacts-api/contacts-resource.html