Fix: An error occurred while parallel accessing to some variables in async methods

Fix: An error occurred while parallel accessing to "_sharedConnectionDepth" variable in the "OpenSharedConnectionAsync" method.

Hi! 
Fixed problem when calling OpenSharedConnectionAsync method from parallel tasks.
_sharedConnectionDepth variable can be used without violating the logic only with a semaphore.

Here is my solution of this problem.

Thanx for the best "Awaitable " PetaPoco fork!!!