Overridable menu layouts using JLayouts

Backend menus markup was not overridable.

I moved the JMenuNode (that was inside the administrator mod_menu) to the cms library and improved it to manage attributes. This way the library is available for every extension.

I also added JLayouts for the common used bootstrap menus:
* dropdown
* tabs
* tabs-stacked
* pills
* pills-stacked
* list

Also created two joomla basic menu layouts.

Now administrator mod_menu default layout displays:

    $layout = new JLayoutFile('bootstrap.menu.dropdown');
    echo  $layout->render($menu);

That file can be easily overriden for example in hathor to use:

    $layout = new JLayoutFile('joomla.menu');
    echo  $layout->render($menu);

Anywhere in the site we now can display a menu. 

Sample menu creation
-------------------------

	$menu = new JMenuParent;
	$submenu = new JMenuNode('Hello world', 'index.php');
	$submenu->addChild(new JMenuNode('Hello2 world', 'index.php'));
	$submenu->addChild(new JMenuNode('Hello3 world', 'index.php'));
	$menu->addChild($submenu);
	$menu->addChild(new JMenuNode('Hello4 world', 'index.php'));

	$layout = new JLayoutFile('bootstrap.menu.tabs');
	echo  $layout->render($menu);