Added OAuth support to the client.
Made names more consistent.
Started implementing OAuth support.
Moved enum descriptions into the docs.