Initial import of legend refactoring work
Add layer tree support into QgsProject
New dock in QGIS for layer tree view
Add possibility to temporarily disable layer tree to registry bridge

This is useful during the project load where the updates from
map layer registry would make the layers appear twice in the tree
Handle active (current) layer in layer tree view
Use QgsLayerTreeView in QgsProjectLayerGroupDialog

This also replaces routines for parsing of the project file
Add support for embedded layers and groups into layer tree
Support for default actions in layer tree view
Layer tree view interface for context menu configuration
Raster and plugin layer symbology, show feature count for vectors
Move to top-level action
Added "Group selected" layer tree view action
Moved some legend actions to QgisApp, added actions to layer tree view.

Still need to adjust action implementations in QgisApp to use layer tree view
Double-click handling, changed current layer handling
Updates to QGIS app to use layer tree view instead of legend widget
More integration of layer tree view in QGIS app
Added layerTreeView() to QgisInterface, moved context menu provider to new file
Deactivate old legend. Improve insertion of new layers into layer tree.
Handle overview status changes properly.

Added signal about changed custom properties.
Changes to custom properties are propagated to the root node,
so it is not necessary to connect to all children
Added helper namespace QgsLayerTree