better abstractions and doc updates

Change-Id: Ic6773a84b0ab6b0612048a9f58e77c2b3e3a8b6d
adding ConnectionPool class

Change-Id: I6bc9a36db2840ba82698fd3020bd827072b53351
javadoc update

Change-Id: I96bfb5a69f42f357178f3ce58fd63edbc0636a00
javadoc update

Change-Id: I3eedc40eae1a8205638293fbd37e7d09a711d2a3