dmenu_run with command history

A self-contained alternative to dmenu_run which also handles history.

History is saved in a file in $XDG_CACHE_HOME, with fallback to a dot file in $HOME. Change as necessary.

In addition to the above, dmenu_run_history will launch each entry immediately on Ctrl-Return (multiselect).

The script can be used with the 4.6 version of dmenu.