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
What I mean here is a system similar to that that we use for managing uncaught exception handlers at, for example, https://github.com/fluid-project/kettle/pull/14/files#diff-50e3aa130a4f97a42ee2cf111c7b1d9dR70 - this allows far better fine-grained control over overriding and dispatching to individual namespaced members of the stack, following the improved Infusion implementation of namespaced listener stacking as part of http://issues.fluidproject.org/browse/FLUID-5506