Implemented an immutable vector wrapper

This adds fold and some other interfaces to the standard immutable vector.

per issue #8