Begin notifications implementation

In order for notifications to work correctly, we must use non blocking
calls to enable client-side applications to "probe" whether new
notifications exist.

While this will not be the final implementation of notifications, due
to internal changes enabling non-blocking I/O throughout Buxton, this
will enable the early exposure of any potential pitfalls in the
mechanism.

Signed-off-by: Michael Ikey Doherty <michael.i.doherty@intel.com>