1 to Many mapping for shortcuts

Shortcut can be assigned multiple shortcut matches

(eg. 'i' can map to 'internet','chrome' and so on at the same time)

- Changed format for how the shortcuts are stored (instead of 1 - 1
mapping between shortcuts and their target, a shortcut is now mapped to
a list of targets)
- Updated everything that access the shortcuts to make sure that it
works with multiple shortcuts