Add client initializer

This is a minor commit that adds the initializer and the main client dependencies. The default cache settings are temporary. For flexibility, the client allows a custom 'session' (to make requests with) and a custom session configuration (and cache).

__Areas for review__
- Storing local environment info in tests