Begin to add support for builtin functions (escape, exists and localtime)

I have begun to build out a feature to support invoking Vim builtin functions. Right now I have chosen one with zero arguments (`localtime()`), one with one argument (`exists({expr})`), and one with two arguments (`escape({string}, {chars})`). I have not yet done any with optional arguments, nor any user-defined functions.

I am submitting this pull request in order to start the conversation about what I need to refactor here. I am thinking there is some stuff from the `BuiltinFunctionCaller` that will probably need to get pushed down into the core of VsVim, but I wanted your input on what layer each thing should live in.

I've been excited to see all the activity lately and see you burning through the regex issues, etc. I hope that I am going the right direction with this feature as well.
Thanks Jared. As always, it's educational to hear from you on this stuff! I'm hoping I'm going to get the chance of updating this pull request today or if not today, soon.