Add keys/values/entries iterators to concrete collections.

This removes `iterator` and adds `keys`, `values`, and `entries` in it's place. ES6 default iterator are still available and map to the appropriate method per type.

Vector's iterators take an optional `sparse` which will cause them to skip unset indices.

This is a **breaking change** which renames the existing `keys`, `values`, `entries` and `fromEntries` methods to `keySeq`, `valueSeq`, `entrySeq` and `fromEntrySeq` to make room for the new behavior.