More unit tests for *By* routine.
Make routines accept instances that are callable.

In other words, instances of classes that implement the __invoke()
method.
To accept class names instead of only instances we need to change
the validation of callable objects in Routine\AbstractRoutine,
something that would be nice to have. :)

Also created a *src* directory inside tests to put classes related
to tests only (stubs). Let me know if this bothers you a lot, I
still think that this is better than declaring multiple namespaces
on files.
Accept routines passed as callable class names.

- Creates an execute() method in AbstractSyncedRoutine;
- Creates test for Respect\Rest\Routines\AbstractRoutine:
    - Add provider for valid constructor arguments
    - Add assert for getCallback() method on AbstractRoutine.
Merge pull request #87 from Respect/issue-85

Make routines accept instances that are callable