Added initial working version.

This includes a bunch of functions that I had previously defined in my vimrc
that I was using. I sourced snippets originally from a couple places including
Gary Bernhardt's screencast.