Added support for fields

Hi David,

I added support for fields as a second parameter to get/post/reverse etc. I decided to bump the API key to be a third parameter. I know this is backwards incompatible but I think it's better than ending up with a ton of `$client->get($data, null, ['cd', 'stateleg']);` requests.

I added additional unit tests and everything passes in my end.

Let me know if you have any questions or concerns.