26 Complete full lines

Expands on #38.

Towards #26.
Good point. The behavior differs when there are trailing non-space non-word characters. Given this line
```
    "foo" -> "bar;
```
```
grep -o "\\S.*\\S"
```
would capture
```
"foo" -> "bar;
```
Because we always start completion at a word character it might make more sense to use
```
grep -o "\\w.*\\S"
```
which would capture
```
foo" -> "bar;
```
That might not be wanted for the lines presented in Unite.

What do you think?