Make the ApiClient more generic

by using the method requests.request rather than the shortcuts (.get, .post, ...)
we let the user decide. The client only takes care of the api url and auth
header.

Tests:
Fix authentication error

Auth headers were not correctly added. Used the default_dict
method only and dict 'augmented' them with the auth header.
Make it possible to retrieve your project(s)

The almighty ZenRequest has arrived to save the day.

Trying to make it easy to retrieve resources by simply
'constructing' the request you can now retrieve your
project(s) as easily as:

ZenRequest(api_key).projects(project_id).send()