Maid 22 bad alloc

https://maidsafe.atlassian.net/browse/MAID-22

the verification involves using routing_node network across droplets

it may worth to check whether the routing_node network (using next branch) suffers the same issue as using interim_merge_of_unsafe_packet_loss_tolerance branch.
If not, then no need to merge this MAID-22_bad_alloc branch into next.

I've just been looking through that piece of code, and it's looking scary. ConnectionManager::GetSocket() must never ever be called from outside Transport's ASIO strand, else you're racing on ConnectionManager's state. Dispatcher::HandleReceiveFrom() is being invoked in a random thread by ASIO. I think what has happened is that I found this racy code some months ago, and added a mutex to Dispatcher to fix it which in fact just hid the problem.

Do you mind if I try implementing a proper fix?