Vi inner motions

I implemented inner motions for VI mode. I didn't implement outer motions yet. I also didn't implement the inner string motions like `vi"` and `vi'`. I'd like to take on these tasks next, but I want to make sure I bring what I have to the community first, to start an open discussion. 

I've been dogfooding my work for a little bit and (so far) it seems stable. There are still some bugs in it ("bug" meaning places where behavior diverts from GVim). However, `vi}` is actually more correct than VsVim in multiline blocks, so I think this is a good start.

Also, there were some tests that I wrote that don't seem to work, but the behavior works in normal debug mode. In addition, I can't figure out how to debug a unit test, which makes this process harder than it should be.