dot/ipython-key-bindings.py: Don't leak names into the toplevel environment.
It seems that this file, unlike the `ipython-config.py', is evaluated in
the same toplevel environment as is used for the interactive session. I
initially tried to do this by deleting all the names after I'd finished
using them, but the `inhibit_history_search' function is looked up by
name from the `prev_line' and `next_line' bindings, so that doesn't
work. Instead, lambda-bind everything by wrapping a function around the
whole lot; the evaluate the function to make everything happen, and
delete the function name, leaving the bindings functions in its orphaned
environment.