GPII-434: General cleanup and rationalisation for Kettle 

all test infrastructure definitions placed in namespace "kettle.test" with actual tests in "kettle.tests" - test infrastructure now loads automatically with the module - grunt tasks for linting, together with all files linted revealed various implementation problems with tests. Added gpii-grunt as a dev dependency in order to get access to "dedupe-infusion" task. Clear distinction made between "tests in the Kettle environment" and "tests based around a Kettle server" - former are bootstrapped with kettle.test.bootstrap, and latter with kettle.test.bootstrapServer
Can you explain the semantic of this function? Why would an error be thrown when there is no active request? And why is not, itself, an error if this function is invoked outside of the context of an active request?