Add createMenuItemFromNode event for dynamic menu manipulation and refactor publish workflow into listener

Initial work on introducing a createMenuItemFromNode event into the ContentAwareFactory::createFromNode method to allow for dynamic manipulation of menus generated from PHPCR nodes. Right now there is an example of how you can use this event to handle publish workflow (removing unpublished items from the menu). Another feature would be to include a listener that looks for nodes that implement a MenuProviderReferrer interface that provides the service id and an array of options to hand over to a menu provider service that could be used to generate a dynamic submenu and insert it as a child of a phpcr node.