Give services a way to request a retry

The delay is precisely that, a delay. It isn't a promise.
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