NCBC-685: provide a means of exiting the IConnectionPool.Acquire method

The IConnectionPool.Acquire method is recursive in that a thread will try
repeatedly to acquire a connection if the pool is exhausted and
IConnectionPool.MaxSize has been reached. This commit ensures that the
recursion will be broken if a set number of retries has occurred. This
value is controlled by the PoolConnection.MaxAcquireIterationCount
property which defaults to five (5) iterations.

Change-Id: I0e13fe37cea56f645d0f6e9afca6860294f37816
Reviewed-on: http://review.couchbase.org/42194
Reviewed-by: Jeffry Morris <jeffrymorris@gmail.com>
Tested-by: Jeffry Morris <jeffrymorris@gmail.com>