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

@ivarne, @tkelman I think I have made the same mistanke here it should properly be:
`startpos = nextind(partial, nextind(partial, length(partial) - (m == nothing ? 1 : m.offset)))`
It does not crash the REPL but it can't complete on `"ß C:\\`.
Sorry about the mess I made now I understand the difficulties in indexing in strings.