Implements gf (go to file) and <C-w>gf (go to file in new tab) for Visual mode

This resolves #1351. Please review carefully because I want to make sure that I have conformed to the design and testing strategy of this area of the code. Please don't feel bad about requesting any refactoring or further unit tests or anything because I am well aware that may need to be done.
I will say, though, I'm not a big fan of Boolean parameters. However I followed it because it was the existing paradigm, and I'm fine with that. If, however, splitting `gf` and `<C-w>gf` into two different paths all the way up would clarify this...