Added two new attributes allowing multiple selection, restricting that selection to match same node field

If data-multiple-selection is set to true, a user will be able to select multiple tree nodes at a time, currentNode will become an array of selections.

If data-multiple-selection-requires-same-field is set to a string, that string will be the field name for each node in the tree, during selection, if there is a current selection, that current selection's field is used to prevent selection of nodes that do not match that same type.

For instance:
[
{ id: 1, kind: "foo", label: "Foo 1", children: [] },
{ id: 2, kind: "foo", label: "Foo 2", children: [] },
{ id: 3, kind: "bar", label: "Bar 1", children: [] },
{ id: 4, kind: "bar", label: "Bar 2", children: [] }
]

The treeview would allow one or both "foo" elements to be selected, or one or both "bar" elements to be selected but not a mixture of "foo" and "bar" elements if the data-multiple-selection-requires-same-field attribute is set to "kind".