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.
Adds the selection bar extension on Windows and Linux.

This is a fix for #9203.
Deprecated by adobe/brackets#7488 in Sprint 39

adobe/brackets@56ab3e942f5b651da6d91176cd4da8b41a8c7252
Deprecated by adobe/brackets#6787

adobe/brackets@21bea9d143825122b8b89528e84052c132b0c64a
Deprecated by adobe/brackets#3301 in Sprint 23

adobe/brackets@/1ec5c8f8c70dc4aed5e98e3254904a2e8a55ae48
Marked as deprecated by adobe/brackets#2462 in Sprint 19

adobe/brackets@57d262804728b1d179f2e1a98e6932884c37e77b

While these exports were technically never deprecated, they were never
documented either, so it's probably not know they still exist.
Fix accidentally added lines
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.