MDL-46652 custom_menu: fix for multi-language support breaks menu nesting

Fixed bug by building full menu structure, then removing hidden menu items and all associated children.
Refactored custom_menu_item class and convert_text_to_menu_nodes() to improve maintenance.
open in new tab for external links

Conflicts:
	lib/outputcomponents.php
force login for my page
instantiate custom_menu even if settings are empty
show custom menu items by capability permissions
Merge branch '2.6/feature/custom-menu-permissions' into 2.6/integration

Conflicts:
	lib/outputcomponents.php
fixing course overview drop-down width & h2 font size
fixing course overview drop-down width & h2 font size
Merge branch '2.6/feature/core-layout' into 2.6/integration
add login button to clean theme nav bar
Merge tag 'v2.6.5' into 2.6/feature/core-layout

MOODLE_265
Merge tag 'feature/core-layout/2.6.5-20141112' into 2.6/integration
adding custom logo to header navigation - clean theme only
Merge tag 'feature/core-layout/2.6.5-20141114' into 2.6/integration