Remove SessionID structure from monitor.

Use the bfsSession structure in its place.

Added LocalAddr to bfdSession structure.

Don't create a monitor object if conversion of PeerIP fails.
Add PeerAddrStr and LocalAddrStr fields to bfdSession.

Eliminates the need to use inet_ntoa() to convert to a string each time
we want to log session id information.

The reason for adding this was to allow reporting both peer and local
addresses in a single call to bfdLog(). The inet_ntoa() function returns
a pointer to a static buffer, so when called more than once in an
argument list you get the value from the last invocation in all places
it was passed.
Fix segfault in bfdSubscribe().

Added bfdCreateSessionInt() which returns a pointer to the successfully
create bfdSessionInt object.

The segfault was due to the bfdSessionInt pointer still being NULL after
the creation since the creator was just putting the object into the
session list and not returning it.
Misc log message enhancements.
Add bfdStateToStr().

Converts a bfdState enum value to a string.
Wire up monitor commands to core.

A Subscribe message from a monitor client now calls bfdSubscribe.
Ditto for Unsubscribe messages from client.

Notification messages are not yet sent to the monitor clients.
Fix session reference count.

RefCnt was not being decremented on Unsubscribe.

Added debug message when a notifier is unsubscribed.
Use 'Addr' instead of 'IP' in json messages.

Done so as to be consistent with naming in bfd core.
Add TODO.rst file.
Improvements to monitor_cli.py.

* Better error handling of command arguments.
* Changed out subscribe/unsubscribe arguments are provided to make it
  easier to set addr:port pairs.