Add option to search from nearest scm parent

Originally submitted at: https://github.com/wincent/Command-T/pull/47

This is the squash of these two commits with a simple merge conflict
resolved:

- https://github.com/davidszotten/Command-T/commit/9b901a2a621ac1f143
- https://github.com/davidszotten/Command-T/commit/7a96cf9d4ce5ab60b8

Signed-off-by: Greg Hurrell <greg@hurrell.net>
Tweak SCM traversal

This makes it possible to perform SCM traversal from Vim's current
working directory. This is based on Ben Osheroff's pull request at:

https://github.com/wincent/Command-T/pull/29

Note that one can't be applied cleanly at this point because of the
very similar e55f03e which I just committed.

I don't see myself using this option, but the cost of adding it is low.

Includes the following changes to e55f03e:

- added documentation
- renamed some options to better match the style of existing options
- traversal relative to the current file is now the default; in some
  ways this could be considered a breaking change[*], but I will let
  this bake on the "next" branch for a while before I make that call
- refactored to remove copy-pasta'd `#get_string` method from the
  `PathUtilties` module; we now pass in both the starting directory and
  the markers, which means that the module has to do a whole lot less
  talking to the `VIM` module
- minor style fixes

[*]: The behavior is different now, obviously; one somewhat surprising
example is the behavior in Git submodules (like Command-T, where I am
editing this right now): previously I would `cd` to
`.vim/bundle/command-t` and work from the submodule root; if I do that
now, we traverse up from the submodule to the superproject (in my case,
`~/code/wincent`, because `~/.vim` is a symlink to
`~/code/wincent/.vim`) and that means we don't see the Command-T files
in the listing because they're hidden inside a dot directory (unless the
search query includes a dot).

This may be ok, but like I said, I want it to bake for a while first.

Signed-off-by: Greg Hurrell <greg@hurrell.net>
Merge branch 'davidszotten/traverse-scm' into next

* davidszotten/traverse-scm:
  Tweak SCM traversal
  Add option to search from nearest scm parent