Path with space completion fix for REPL

This fixes completion for paths with spaces in both shell mode and julia mode ex:
```julia
shell>cd C:\\Program\ Files\ <tab>
shell>cd C:\\Program\ Files\ (x86)\\
julia>cd("C:\\Program\ Files\ <tab>
julia>cd ("C:\\Program\ Files\ (x86)\\
```
The main changes is in the `completions` that is used when completing in julia mode. The changes to get it working in shell mode is only 5 lines. If any of you have time to look at it @tkelman, @lucasb-eyer it would be greatly appreciated.

@StefanKarpinski could you approve the changes I made in the `shell_parse`? The main reason for the change is when a string is parsed to the `shell_parse` function like: `"C:\\Progams\\ "` this would throw an error before due to the ending space is removed and then the string has a dangling `\`. To prevent it from removing the space I use the keyword argument like: `Base.shell_parse(string[r], true, strip_r=!endswith(string[r], "\\ ")` and then it do not trim the space away when the string ends on `"\\ "`.

Again, that's a pointless option: if you want to strip the argument before doing anything else, then strip it before passing it to the function. You can write the call site like this:

```jl
Base.shell_parse(endswith(scs, "\\ ") ? strip(scs) : scs, true)
```