Add tests.

Was getting tired of all the hand-testing after making any changes to the SDK/CLI.
So, this is a first attempt for adding tests to the CLI.

This pull request is not complete by far. Just wanted to check if I am going in the right direction.

Right now, I am capturing calls to Connection._api_call(). It may probably be a better idea to capture calls to the requests library itself. That's in the to-do list.

I am also suppressing stdout/stderr because it was resulting in a lot of clutter. Though, I am not sure if that's a good idea.

CC @vrajat, @vogxn, @nonbeing