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.
Shouldn't `gf` always re-use the existing window?