Client refactoring

Hi Garreth

Consider this a work in progress, for your review. Don't merge yet, as I'm far from done.
I'll continue to commit things to this branch so this PR stays up to date.
I can understand that by saving server, username, and password data on an object , there is no need to pass authorization to each request. My existing plan was to put authorization info / code on `davinci.Account`, but this is nicer since it decouples authorization from calendar account authorization. Are there other high-level benefits too that this accomplishes? I would be okay with writing raw xml response data and/or responses that were parsed through https://github.com/gaye/davinci.js/blob/master/lib/parser/multistatus.js to the model objects for consumers that want to access the raw protocol stuff. Does that touch on the same needs that this is meant for?