Make ido completes like built-in M-x does, useful when use smex or use ido to
complete other hyphen separated choices
Example
-------
Choices: "ido-foo-bar", "ido-space" "ido-test"
| Key Sequence | Result |
|--------------+--------|
| i | "i" |
| SPACE | "ido-" |
Choices: "ido-foo-bar", "ido-space" "ido-test"
| Key Sequence | Result |
|--------------+--------|
| i | "i" |
| SPACE | "ido " |
Choices: "ido-foo-bar", "ido-space" "idotest"
| Key Sequence | Result |
|--------------+--------|
| i | "i" |
| SPACE | "ido" |
| SPACE | "ido-" |
When HYPHEN can be inserted and SPACE cannot, insert HYPHEN when user enter SPACE.
Choices: "ido-foo-bar", "ido-space" "ido test"
| Key Sequence | Result |
|--------------+--------|
| i | "i" |
| SPACE | "ido" |
| SPACE | "ido " |
If bot HYPHEN and SPACE can be inserted, SPACE just inserts itself.