ArrayList/LinkedList - moved from core to utils

- ArrayList is also renamed to ArraySet to better reflect the nature
ArraySet/LinkedList - minor updates

- Renamed ArrayList to ArraySet
  - Added ArrayList is a deprecated proxy for compatibility
  - Updated internal code to use ArraySet

- ArraySet can be constructed with an array; if the caller is willing to
  accept some responsibility this can remove the O(n^2) behavior of
  repeatedly calling `add`.
  - Updated Group.filter to take advantage of this

- ArraySet.total is read-only proxy for for list.length

- Fixes ArraySet.setAll where it would only set properties with truthy
  values

- Updated documentation
Merge pull request #1325 from pnstickne/wip-collections

ArrayList/LinkedList updates