[WIP] Add multiselect to tree

Adds multi selection to trees. Also adds selecting with shift and ctrl as is typical on a desktop. Finally, it adds a option to only select leaf nodes. It should leave everything backward compatible.

The next step is to update filechooser to use these options instead of hacking multi selection. If this looks ok, I'll attempt it.

If it won't make it into 1.8, I'll have to bump the versionadded values.