Don't handle command and :open history different.

The stepping through history via <up> and <down> keys generated different
items for ':open<up>' and ':open <up>'. The reason for this was that we looked
up the history file to get the item, ':open<up>' entries where collected from
command history file where also none url entries are available (like call with
shortcuts).

Now the history lookup does not distinguish between commands and urls and
follows the inspiring example of vim, where ':e <up>' also lists none
processed values like ':e %'.
Allow to change input in history lookup.

In previous version it does not work to lookup commands like ':r<up>' and
change the input after the history was initialized. This caused none working
lookup if the first attempt did not find any item. For example if ':foo<up>'
did not find any item and the user change the inputbox into ':o<up>' which
should match items, this retrieved also no item.

This patch fixes also none working lookup of set commands like ':set s<up>'.