Do lazy initialization of PooledClientProvider to avoid guide injection error.

- Guice injection error could raised if the TransactionServiceClient instance is being injected to another object.
  - During the instantiation of TransactionServiceClient, which in turn call PooledClientProvider.initialize(). The initialization would fails if it is not yet connected to ZooKeeper, which would be the case when still constructing the Guice Injector, depending on whether the DiscoveryServiceClient do auto-connect to zookeeper or not, which is not guaranteed.
Merge pull request #13 from continuuity/feature/improve-pooled-client-initialize

Do lazy initialization of PooledClientProvider to avoid guide injection error.