Add smex- prefix to helper functions
[Refactor] parse-keymap

Use `push'. Explicitly pass the output variable `commands'.
Add compatibility with command-frequency

Set `real-last-command' like in `execute-extended-command'.
This allows command-frequency to pick up the command.
Add partial minibuffer completion

Emacs' built-in completion mechanism works well for partial completions.