Filter selection on selection set so only elements in content are allowed
Add tests for RangeController "selection is subset of content" requirement.
Make .selection default to null and constrain to elements in content
Add tests for selection as set and selection defaulting to null
Small fixes to selection management.

- Don't attempt to clear selection if selection is null
- If no content, selection range change clears selection
- Can't use splice in multiSelect change handler if selection not array
Remove console.log
Set values to empty array if .values is set to null/undefined
Remove TODO as RangeController now correctly changes selection
Trailing whitespace
Trailing whitespace
Add extra tests for avoidsEmptySelection and multiSelect.
Merge pull request #1320 from jseidelin/rangecontroller

Change RangeController selection to null and restrict selection to content
Edit