Listen to Collection `add remove` instead of a custom `change` trigger

Also, template uses hasChildren helper instead of the contents attribute
Move load semantics into load method
Removed `set` method by defining `parse`, removing `trigger('change')` and updating `load` logic.
Renamed `add` to `addChild` to avoid confusion with Backbone.Collection.add
Merge branch 'load-and-addchild' into github-refactor
Moved to private instance variable
Added tree events that bubble up

so nav HTML is updated
Removed unused method