Integrated immutable map

I created the immutable map wrap the other day. This is the first round of
integrating it into the framework where it's appropriate to do so.
Merge pull request #19 from traitorous/integrate_immutable_map

Integrated immutable map