Fixes for quotes in bash completer
Fixes for quotes in bash completer

There were several issues popping up in xonsh that I traced back to
here.

The current behavior of this code in xonsh right now is as follows:
```
mkdir -p "this is a test"  # in otherwise empty dir to avoid multiple
matches
ls th[tab] -> ls t'this is a test/'
ls 'th[tab] -> ls 't'this is a test/'
ls "th[tab] -> no results
```

Initially the leading double-quote seemed to work in xonsh but that is
actually the bash completer failing completely and then xonsh falling
back on to the path completer which works correctly for this completion.
Wild.

If I directly import the `bash_completions` function in the same test
directory with that folder name and call it directly:

```
gil@bad_cat ~/tmp 🐚  bash_completions('"th', 'ls "th', 5, 6)
(set(), 0)
gil@bad_cat ~/tmp 🐚  bash_completions("'th", "ls 'th", 5, 6)
({"'this is a test/'"}, 1
```

Note that the double-quoted lead returns nothing.  Also, the
single-quoted lead says that the number of characters to strip off of
the prefix is 1, which will leave a leading `'t` as evidenced above.

So, two main fixes in here:

* Make the underlying bash completion script also look for leading
double-quotes
* Correctly count the strip-length depending on if there are or aren't
leading quotes (irrespective of quote type)

xonsh/py-bash-completion