Bootstrap now returns more kinds of ReturnCodes

Not only kSuccess and kTransportStartFailure
Don't start connecting when already being connected

Adds an endpoint set into the Transport structure
for it to know which connections are being established.
This is because two such connection attempts would
interfere and cause undefined behavior. This is a dirty
fix which still has a bug. I.e. when a connection
fails, it doesn't remove the endpoint from the set
of endpoints indicating "connection in progress"
so every further connection attempt will be blocked.
Merge branch 'next' into MAID-183-cant-bind-on-bootstrap
Changes log levels from kWarning to kVerbose

Where appropriate
Removes usage of DebugId(...) on few places
Removes state Connection::State::kExactDuplicate

It was never assigned to any variable.
Fix to: Don't start conneting when already being connected

It was not enough to reject connection attempt based only
on the remote endpoint as it is valid to try to concurrently
connect to the same endpoint but different peer node id.
So the rejection now happens based on (peer-node-id, peer-endpoint)
pair.
Merge pull request #28 from inetic/MAID-183-cant-bind-on-bootstrap

Maid 183 cant bind on bootstrap