Adding unit tests

Refactoring code to allow unit-testing. Adding unit tests.
Fixing defects after testing with real data

Some of the element in the Instagram response may not exist. Updating
the code to avoid errors
Adding unit-test and updating example

Adding unit-test with all search capabilities and updating the example
in README.md