Localize sentinel value, part of #117

This makes `NOT_SET` local throughout the lib for consistency, removing the need for it in the `remove` method. This meant adding an extra parameter `removed` to the internal update, updateMap, updateNode, etc.

The only place where I'd imagine an issue would have occurred is with [this line](https://github.com/tgriesser/immutable-js/blob/1e23be8869221ab4e2db2ac738a8404393a412da/dist/Immutable.js#L1947) as it's the only case dealing with `NOT_SET` where the function isn't called in the containing lib's scope. Probably better to be safe though.

Should be helpful in moving toward the goal of #117.