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
Merge "Fix concurrency issue in processing passive BgpSessions."