common: make glib-glue work with C++.
common/msg: handle any-type iterators in a valgrind-kosher way.
daemon: omit plugin info from basic command-line help.
console: minor typo fix in debug command help.
compilation: get rid of some unused variable warnings
lua-decision: add C access routines to mrp_lua_mdb_select_t
lua-decision: add C access routines to mrp_lua_element_t
lua-decision: add sink.lua
common: can use msg and transport functions from C++.
lua-decision: added the sink access functions.
core: added getters for lua sink fields.
Merge branch 'master' of github.com:otcshare/policy-internal
mainloop: epoll management overhaul, delayed destruction fixes.

Reworked main fdtable and epollfd manipulation to be more consistent
and clearer by separating them out to a set of epoll_* functions of
their own. Planted also quite a number of debug messages to the delete-
code paths.

Also fixed a few delayed destruction corner-case crashes. The code
now uses a dedicated hook for the pending deletion list instead of
reusing the main object hook (which cannot be done in some cases).
This turned the remaining type-specific delete_* functions practically
no-ops (they just unlinked the objects from their repective lists,
also done by the delayed purging code) so they were removed.

Probably we should make delayed destruction readiness more explicit
by putting the common deleted_t fields behind a macro.
common: low-level websocket abstraction + a websocket transport

Our low-level websocket library is built on top of libwebsockets.
It basically provides the necessary bits of glue to pump websocket
connections from a Murphy mainloop. Additionally it attempts to do
most of the heavy lifting necessary to associate extra contextual
data with websockets (IOW attaching/detaching in a safe manner
user data with websocket contexts and connections) which I found
surprisingly hairy to do with libwebsockets itself.

Eventually the low-level library should map out all the useful
features of the underlying library. We're far not there at the
moment. We do not provide an interface for features that we do not
need ourselves at the moment. These include things like connection
filtering, pure HTTP connections, serving files to clients, extension-
negotiation, etc. Of these at least SSL-support, pure HTTP clients
and content-serving (for serving our own javascript libraries to
clients) are next on the list to map out.

The websocket transport basically integrates websockets to our
transport abstraction. IOW, it makes it possible to use a websocket
connection as the underlying IPC mechanism for a Murphy transport.
As a side-effect of implementing websocket transports, an automagic
defragmentation mechanism (fragbuf or mrp_fragbuf_t) has also been
added to the common murphy library.
common: WiP: websockets: updated linker-script.
common: force debug-site update when enabling/disabling debugging.
plugin-console: accept websockets for transport.
plugin-console: updated debug info.
common: added API for basic JSON object manipulation.

Although we do use json-c, we don't want direct json-c dependency
sneak in and spread all over the codebase. Therefore we define a
layer on top of it which will also hopefully provide a confined
space to patch things up if we're not happy with the underlying
interfaces.
domain-control: get rid of a few unused var warnings.