Alternative Approach

@mrb This is an alternative approach to #33.

I like the way our current API exists because the opts don't get in the way, but give the developer full power if they want to hunker down and actually use them.

What I did here was slide all the Riak Client logic down to Node, and made the small addition which requires a developer to call client.Session() each time they perform some actions.  This guarantees that opts set for the current session stick with the session, and don't get stomped due to concurrency.  It also had the side effect of reducing a handful of code calls.

This branch is complete and could be merged in to master unless you are still keen on pursuing #33 or other alternatives.