Refactor service injection to mogwais and gremlins

* Gremlins and mogwais no longer have default logger and randomizer
* The horde only injects logger and randomizer if not present (fixes #62)
* When a mogwai or a gremlin absolutely needs a service, and this service isn't present when it executes, it throws an appropriate exception
* Named anonymous function everywhere as is simplifies debugging
Merge pull request #64 from marmelab/null_default

[RFR] Refactor service injection to mogwais and gremlins