Implement more orderly termination of BgpServer

Do not allow the BgpServer to be destroyed if BgpSessionManager's
WorkQueue is non-empty.

Move call to TcpServer::Shutdown back to DeleteActor::Shutdown as
we no longer accept incoming sessions if the BgpServer is deleted.
The latter is more watertight fix than calling TcpServer::Shutdown
immediately.

Do not accept incoming sessions if the BgpServer is deleted. This
stops the WorkQueue from building up after delete of a BgpServer
is triggered. Also, send a notification and delete the session if
the BgpServer is deleted when we process the session.

Change-Id: I56f823559e700dd6bcbeb8ebe3935697e91b47d2
Merge "Implement more orderly termination of BgpServer"