Fix corner case in TcpServer accept handler.

If the TcpServer accept handler gets called after the the server
has been shut down i.e. acceptor_ is NULL, it sets session state
to established and then allows the newly allocated session to get
destroyed when the scoped pointer is destroyed.  This causes the
assertion in ~TcpSession on !established to fail.

Fix is to check if acceptor is NULL before marking the session as
established.

Change-Id: Iffa2dd96769100a77162ed771d66ca975eecdfb5
Fix concurrency issue in processing passive BgpSessions.

The code in BgpSessionManager::AcceptSession is called from the IO
thread. It acessses RoutingInstances and BgpPeers to determine if
we have a configured BgpPeer corresponding to the session. This is
clearly a problem since the RoutingInstance and BgpPeer maps are
modified from the bgp::Config task which is not exclusive with the
IO thread.

Fix is to have BgpSessionManager::AcceptSession queue the session
and process it from the context of the bgp::Config task.

Also tweak a couple of tests to check error counts for received open
messages instead of notifications that are sent in respose to those
errors and received on the other side.

Change-Id: I5a17ecc34f2e36f914cffda259af3957f527a8d6