Allow callers to pass in a custom Retrofit Client.

Enables callers to customize various connection behavior e.g. hostname
verification, SSL protocols allowed etc.
Be explicit about source/target compatibility.
Merge pull request #20 from diwakergupta/develop

Fix #19