Update multiple targets; indirect dep. check

Passing multiple targets to update (in an array) to tree.update now will
take that into account and only update parent nodes once.
tree.checkDependsOn now handles indirect dependencies as well. Fixes #3