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 could also do somthing like this:
```julia
shell_parse(raw::String, interp::Bool) = shell_parse(raw::String, interp::Bool, strip) 
function shell_parse(raw::String, interp::Bool, strip_func::Function) 
    s = strip_func(raw)
    rest of function
```
Is this better or should I do as above?