Implement custom keyboard shortcuts support with a user key map file.
Merge remote-tracking branch 'origin' into rlim/custom-key-map
Add JSDoc and some comments.
Rename _keyMapCache to _defaultKeyMap.
Add a list of key names so that we can flag on unsupported key names.
Convert first letter of key to uppercase when normalizing a key.
Add an optional parameter to getKeymap api so that it can return either the default key map or the acitve one with user key bindings.
Fix the issue of not detecting a restricted shortcut used in the special commands.
Fix the issue of not removing the existing key binding from the target command.
Report errors for duplicate key bindings.
Merge branch 'rlim/custom-key-map' of https://github.com/adobe/brackets into rlim/custom-key-map
Make changes for review feedback and expose some more apis for unit tests.
Unit tests for loading user key map.
Merge branch 'rlim/custom-key-map' of https://github.com/adobe/brackets into rlim/custom-key-map
Adding test files for KeyBindingManager unit tests
Merge branch 'rlim/custom-key-map' of https://github.com/adobe/brackets into rlim/custom-key-map
Add one more missing file and adjust the order of normalized keys for Windows platform. Also exclude the two checkings  of mac specific shortcuts.
Fix DocumentCommandHandlers test failure and the issue of not reporting multiple bindings to the same command after saving key map file. Also some minor changes for review feedback.
Restrict use of `Cmd` and `Opt` key names for Windows when defining key binding.
And include a couple of changes for other review feedback that I missed in previous commit.
Rename one test file used on Mac.
Missed to add @return in previous commit.
Set error to true for Mac modifier keys used on Windows.
Fix the issue of showing errors from the user key map file when running integration tests.
Merge pull request #9589 from adobe/rlim/custom-key-map

Implement custom keyboard shortcuts support with a user key map file.