Added features, customized for local usage

I've modified the directive to fit requirements in my project.  If you like them, consider merging them.  The changes are as follows:
1. I've added the concept of primary and secondary nodes.  My tree will always have two levels.
2. I've changed the definitions for the node icons; 
   "+" means that the node is "primary", whose children have not been loaded, or who has children.
   "-" means that the node is "primary", who has been loaded, has children, and is collapsed.
   I removed ">" for childless nodes.
3. I've added two icons, one for primary nodes and one for 2ndary nodes.  They are specified in the "primary-node-icon" and "secondary-node-icon" attributes.
4. The function to lazily load the children for the primary node is in the attribute "lazy-load"
5. I've added an "error" state to branches, specified with the boolean "branch.error".  This is propagated to tree_rows as a css class.
6. I've inlined the template for simplicity.