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 and conform