It's DONE! (for now)
- Optimization: Avoid double key lookups into a map for successful value->key reverse lookups.
- Additional code documentation about some of the optimizations.
- Added unit tests to ensure that key/value names matching Object.prototype properties do not cause false positives.