Implemented an immutable vector wrapper

This adds fold and some other interfaces to the standard immutable vector.
Merge pull request #17 from traitorous/immutable_vector

Implemented an immutable vector wrapper