Allow client to configure the KinesisClientLibConfiguration

The PR exposes the configuration of the KinesisClientLibConfiguration to the client via arguments to the worker functions. It also decouples the instantiation of the Worker from the invocation of the Worker's run method. This can be helpful when local development demands frequent starting and stopping of a Worker.