Notifications System core

Following https://issues.cask.co/browse/CDAP-849 jira and design doc.
Build is running at https://builds.cask.co/browse/CDAP-DUT320-3.
Why need to use binary encoder and yet all you need is to serialize the notification as a json string? Either use Json all the way or binary encoding all the way, but not a mix of both.