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

> Because that's how the shell parses things: if strips leading and trailing whitespace and then splits on spaces (modulo quoting).

not quite, the shell has to be able to gracefully handle files that end in spaces. I can make a file `"a "`, and a file `"a"`, and bash can tell the difference:
```
~/Documents/no-backup/julia$ cat a
I'm a
~/Documents/no-backup/julia$ cat a\ 
I'm a_space
```

dropping the trailing spaces can even lead to bugs: http://www.exploit-monday.com/2013/02/WindowsFileConfusion.html