feat(tree): Add tree plugin structure
feat(tree): Add model hierarchy for tree plugin

The hierarchy is defined using either parent and children properties in rows model.

parent can contains name or id of parent row, and children is a list of name or id children rows.
feat(tree): Add support of expand/collapse of tree nodes

This also adds custom row filters and sorters available to registration through API.

A custom row filter is used to hide the related gantt rows when a node is collapsed.

In the model, hierarchy information may be inconsistent with natural list ordering of rows. A custom row sorter is registered in tree controller plugin. This sorter solves the problem and ensures consistency between the tree hierarchy and displayed rows in the gantt, while keeping the rows ordering as near as possible from the model list.
feat(tree): Disable drag & drop on tree
feat(tree): Add proper odd/even styling support
feat(tree): Make configured sorting works on each hierarchy level
chore(demo): Add siteMode tree/labels/disabled option to demo
feat(tree): Disable expand button if no children are available
feat(tree): Add API method to refresh hierarchy based on model
docs(tree): Add hierarchy model documentation
feat(tree): Disable empty place holder when no data is displayed
fix(tree): Keep right padding on tree labels
feat(tree): Better alignement of tree handles and labels
Merge pull request #293 from angular-gantt/tree

Tree Plugin