Add AbstractRetriever and remove duplicate implementations through inheritence
Add coverage directory and IDE files to gitignore
Remove tabs/whitespace. Add unit test coverage. Add code comments.
Merge branch 'pull-66'

* pull-66:
  Remove tabs/whitespace. Add unit test coverage. Add code comments.
  Add coverage directory and IDE files to gitignore
  Add AbstractRetriever and remove duplicate implementations through inheritence
Remove tabs/whitespace. Add unit test coverage. Add code comments.
Fix Issue #65. Use JsonSchema\Exception\ResourceNotFoundException
Merge branch 'pull-67'

* pull-67:
  Fix Issue #65. Use JsonSchema\Exception\ResourceNotFoundException
  Remove tabs/whitespace. Add unit test coverage. Add code comments.