Add shared examples and update specs
Merge branch 'specs_refactor'

* specs_refactor:
  Add shared examples and update specs
Fix breaking spec
Add Category usage to readme.md
Modify shared_examples to be more reusable and update usage.
Merge pull request #9 from jamlen/master

Refactoring specs to make them much more DRY