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 `"\\ "`.

I cannot really follow you there, I would like to prevent a transformation (`strip(raw)`) of the string in the function. Should I do:
```julia
ends_space = endswith(scs, "\\ ")
Base.shell_parse(scs[1:end-(ends_space? -3 : 0)]: scs, true)
ends_space && push!(args.args[end].args, " ")
```
But this just seems to be circumventing the "problem"