A better fix for #195

FIXES

- Unselecting the last item will now correctly trigger an event.

ADDITIONS

- Adds support for decorating folders and items with markup (data, classes, etc) making finding those items easier with libraries like jQuery.

- When selecting an item, the selectItem method emits a new event "updated" each time an item is selected, even if it is the last item being unselected. That event payload contains the item clicked, an eventType (selected, unselected), and the new list of all selected items.