Add VectorIterator
Make ImmutableVector classes private
Add VectorNode.updated
Use ImmutableVector everywhere
ImmutableVector.updated: Use System.arraycopy instead of Array.updated

This results in a 4x speedup for ImmutableVector.updated.
More efficient ImmutableVector creation
VectorIterator: Mark fields private[this], avoiding a cast
Fix bug in ImmutableVector.size
Remove recursion in InternalNode.apply