Rework parsing of custom key mappings.
Rework parsing of custom key mappings.

Most of this is just a tidy up of code that's been around for a long
time.

The only difference, however, is that now a key mapping can include
extra data ("extras") after the name of the command.  For example,

map s vomnibar.activate keyword=g

Here, and extra property "extras" is added to the command registry:

   extras: ["keyword=g"]

This is a first step towards direct vomnibar activation for custom
search.

elegantwww/vimium,mrmr1993/vimium,bkudria/vimium,gdh1995/vimium,elegantwww/vimium,Aleroniponi/vimium,Robinson10240/vimium,decaffeinate-examples/vimium,philc/vimium,csmalin/vimium,mrmr1993/vimium,justalittlenoob/vimium,justalittlenoob/vimium,borgified/vimium,elderbas/vimium,mrmr1993/vimium,csmalin/vimium,zhangmin510/vimium,tuchangwei/vimium,bkudria/vimium,elderbas/vimium,bkudria/vimium,dimatter/vimium,PrestanceDesign/vimium,zhangmin510/vimium,smblott-github/vimium,douglas-larocca/vimium,PrestanceDesign/vimium,zhangmin510/vimium,douglas-larocca/vimium,VPashkov/vimium,tuchangwei/vimium,Robinson10240/vimium,VPashkov/vimium,PrestanceDesign/vimium,PickRelated/vimium,philc/vimium,Lw-Cui/vimium,poacher2k/vimium,cyrixhero/vimium,Robinson10240/vimium,cyrixhero/vimium,gdh1995/vimium,wildeyes/vimium,csmalin/vimium,VPashkov/vimium,Aleroniponi/vimium,willsALMANJ/vimium,willsALMANJ/vimium,smblott-github/vimium,wildeyes/vimium,justalittlenoob/vimium,borgified/vimium,poacher2k/vimium,Lw-Cui/vimium,PickRelated/vimium,hhsue/vimium,Aleroniponi/vimium,douglas-larocca/vimium,cyrixhero/vimium,elegantwww/vimium,willsALMANJ/vimium,gdh1995/vimium,dimatter/vimium,tuchangwei/vimium,elderbas/vimium,wildeyes/vimium,hhsue/vimium,Lw-Cui/vimium,decaffeinate-examples/vimium,decaffeinate-examples/vimium,dimatter/vimium,poacher2k/vimium,borgified/vimium,PickRelated/vimium,hhsue/vimium,philc/vimium,smblott-github/vimium