Move into a modular structure and refine interface

- Everything is namespaced appropriately into TrepScore::Services
- The registry is a module method now, rather in the class
- Schema annotations support required/optional fields
- Added validations, the required data points are checked before
  instantiation and an instance method is available to check anything
  the developer wants to add
- Call() now accepts a period attribute, which is a date range to
  collect data for.
- the Call class method handles validation and makes can handle multiple
  periods.
Add test interface method and more documentation
clean up specs
Make Pipedrive conform to new interface
configure hound and conform
add cop names to hound errors
remove redundant begin block
Merge pull request #6 from 25-ventures/feature/annotate-requirements

Improve internal and external interface