Backup: Refactores Transport::ConnectToBootstrapEndpoint

A bit
Adds OnConnect functor to Connection class
Backup: AddConnection is now called from OnConnect handler
Connection on_connect handler gets called even if connection fails

With an error as a parameter.
Cleaning up debug output
A bit more cleanup
Should fix data race inside ConnectionManager::Connect

As reported by TSan:
http://dash.maidsafe.net/testDetails.php?test=2619577&build=71515
Merge pull request #35 from inetic/MAID-286-Assertion_inside_ConnectToBootstrapEndpoint

Maid 286 assertion inside connect to bootstrap endpoint
Fixes invalid read in FUNC_API_ParallelReceive
Now uses weak_ptr inside the AsyncDispatch handler

As opposed to shared_ptr. This is so that the handler
won't keep Transport from being destroyed.

Though, keeping the Trasport from being destroyed may be
what was intended, it will need to be done in different
way as this was blocking the asio::io_service::run from ever
finishing.
Merge pull request #39 from inetic/MAID-292-fixes-invalid-read-and-a-hanging-issue

Maid 292 fixes invalid read and a hanging issue
Merge pull request #38 from inetic/MAID-370-data-race-in-ConnectionManager-Connect

Should fix data race inside ConnectionManager::Connect
Removes unused variables
Removes explicit timeout inside Transport::ConnectToBootstrapEndpoint

As it is a property of the Connection::Connect operation
More constructors for EndpointPair

Also changes formatting in BEH_API_GetAvailableEndpoint
Connection::on_connect_ now called with success if kTemporary

If disconnection observed in Connection::OnHandleTick handler.
Fixes a possible memory leak

When a promise is assigned to in a thread, the thread
which is waiting on the future must wait for the assignment to
finish before the promise is destroyed by leaving the
scope.
Adds few assertions to places which shouldn't happen

Also minor style changes.
Adds lock inside ManagedConnections::StartNewTransport

The idle_transports_ member variable was concurrently accessed
by OnConnection{Added,Lost}Slot.
Replaces std::bind with lambda expression

Debugger shows better information this way