Unit test for KeenClient.shutdown()

In order to function in the tests, and possibly in practice, a new KeenClient needs to be able to resurrect the EXECUTOR_SERVICE.

This change also has the possible benefit that a user can easily override the type of ExecutorService created by overriding the createExecutorService() method.

This has the side-effect that the EXECUTOR_SERVICE is not available until the first KeenClient is constructed.

I have also changed shutdown(long) to be a static method to reflect the fact that it shutdown the EXECUTOR_SERVICE for all KeenClients.