In a module, when URL is not avialable for a shortcut, send None instead
of an implementation specific detail on how to show description. This
allows use to change the implementation of how description is shown
without changes to modules.
- After the shortcuts were turned into a list instead of dictionary, the
descriptions stopped showing in the front page due to an 'in' check
that worked for dict. Fix this by changing the shortcuts into a
dictionary.
- Also make the key of the shortcut dict an 'id' instead of 'app' that
could create confusion how an app maps to a shortcut.
- Minor indentation fixes.