Fix bfdSocketClose().

Added missing call to remove the socket actor from select polling.

Without this, unsubscribing the last monitor subscription for a session
would result in the select() erroring out with EBADF due to the Rx
socket still being in the rdset after it was closed.
Improve select() loop.

The select() loop in tpDoEventLoop() was not doing any error handling.
As such, it was silently dropping errors and potentially getting stuck
in a tight loop (e.g. closed sockets still lingering in the rdset caused
EBADF).

Added some basic error handling.

* Continue on EINTR.
* Log all other errors.
* Exit application on errors that are not explicitly handled.
Send json notify messages to monitors.
Add log message if tpRmSktActor() fails.