Fix for issue #194, #196, #199

Fixed #196: mapping fails if value = "constructor", "toString", "prototype" etc.
Fixed #194: Key callback is being fired twice. In fact, this is just a performance optimization.
Fixed #199: Changed method visitPropertiesOrArrayEntries to use "indexer" to compare to options.ignore, copy, and observe. Makes options.ignore, copy, and observe support for regular expressions