#16 defining MainCtl directly in the view partial of the demo app
selected nodes not updated if node get deselected

 #16 when deselecting the node in the tree, we need to iterate throuh
the selectedNodes and identify which node was deselected based on the
key. using the array  indexOf method does not work since we compare
complex objects.
deselect all tree nodes if  selectedNodes is empty

 #16 if the selectedNodes array is empty, e.g it was changed in the
scope outside of the directive, we need to deselect all nodes in the
tree.
wrong flag value that causes watch not to fire

the flag that indicates that the selectedNodes array was changed from
the selectedWorldstates watch is false, although the watch is fired from a
user select / deselect event. close #16
#16 jslint
Merge branch 'bug/16-worldstate-watch-not-fired' into dev
updated version in bower json to release new version
added grunt generated dist files
Merge branch 'release/1.0.6' into dev