Added support for authentication objects.  

Hey there,

This is my take on the new Coinbase API authentication mechanisms. 

It replaces all the boolean logic (isSimpleKey, isOAuth, etc) with authentication classes.

With these changes, Coinbase can add additional authentication mechanisms if they need, without having to add more layers of flags/booleans.

Cheers!