Refactor target scheduling to separate facility.

``Target`` will be refactored down the road to support various
nuanced endpoint types.  Thusly incorporating the scheduling
behavior within it will be problematic.  To that end, the scheduling
behavior has been moved into a separate assistance type to improve
conciseness and testability.

``make format`` was also run.
Get ``TargetPool`` test working again.
Refactor Target as interface for testability.

Future tests around the ``TargetPool`` and ``TargetManager`` and
friends will be a lot easier when the concrete behaviors of
``Target`` can be extracted out.  Plus, each ``Target``, I suspect,
will have its own resolution and query strategy.
Merge pull request #32 from matttproud/refactor/wrap-target-as-interface

Refactor Target into Interface to Enhance Testability