Core: fix API usage on new Listeners mode and small changes

A new feature for multiple listeners was added but it did not follow
the Monkey pattern internals, this patch perform the following changes:

 - Listeners are not longer a linked list, instead a mk_list.
 - Memory allocations/deallocations now use mk_mem_*() family.
 - Renamed concepts of 'listen' to 'listener' and 'listeners'.
 - Small function to register a new listener.

Signed-off-by: Eduardo Silva <eduardo@monkey.io>