Call fallback function on original arguments

The advice to "ido-completing-read" can fall back to non-ido completion
if the setup fails. However, the setup code modifies the arguments, and
if it fails those arguments may not be set properly. So now we save the
initial argument list and use that for the fallback case.
Enable "ido-fallback-command" in ido-ubiquitous

This means that you can now fall back to non-ido completion if ido
completion has already been started by calling "ido-fallback-command".
However, it needs to be bound to a key to be practical, because it can't
be activated through any mechanism that also uses the minibuffer (e.g.
M-x).
Enable magic fallback on C-f and C-b

Now C-f and C-b both fall back to non-ido completion inside
ido-ubiquitous when they would otherwise do nothing. This is consistent
with how they work in "ido-find-file" and "ido-switch-buffer".

Fixes #15.