First-pass implementation of :tabonly

This may not be the best way to have implemented it. I call `RunVisualStudioCommand` in order to perform the work, and it feels a little odd to add yet another layer of interpretation here. Thus, this should probably be refactored. However, it does work.

I wrote unit tests for the parsing but couldn't figure out a way to unit test the interpreter portion without being a brittle test of implementation.

Note that it doesn't work exactly the way it does in Vim due to the impedance mismatch between Vim and Visual Studio's tab handling. Specifically, because in Vim the splits exist within the tabs, whereas in Visual Studio the tabs exist within the splits, in Vim if you have multiple tabs and splits, `:tabonly` will leave you with the splits in your current tab, but close all your other tabs, whereas with VsVim it will close all your tabs in your current split, but leave you with the tabs in your other splits.

This fixes #1131 
Great, thanks for the design vision on this. I will rework it in that direction.