gdb: implement readline rl_directory_rewrite_hook callback

Implement the readline rl_directory_rewrite_hook callback function,
this is used when readline needs to offer completions from within a
directory.  The important thing is that this function should remove
any escaping, this allows GDB to correctly offer completions in
situations like this:

  (gdb) file /tmp/directory\ with\ spaces/<TAB><TAB>

Note the escaping in 'directory\ with\ spaces'.  Without the
rl_directory_rewrite_hook callback readline will try to open a
directory literally called '/tmp/directory\ with\ spaces' which
obviously doesn't exist.

There are tests added to cover this new functionality.
2 files changed