Adds withMutations to Cursor

We're pretty excited to start using immutable in our next node-webkit app. By passing cursors all the way down and using the callback to notify of changes, we have a pretty good architecture in place to implement an undo feature. The withMutations API on Cursor allows a UI component to make a set of changes inside a cursor and only create one frame on the undo stack.

The functionality of cursor.withMutations was already achievable, but I feel that this makes for a more consistent API.

This commit also fixes some grammar and adds a test of Map.withMutations.