Check for `+cursorbind` feature before using it

`+cursorbind` is not available with Vim on RHEL 6.1 for example.
Work around slow \\ Windows network path
:Gblame: Retain original alternate buffer
Attempt to address more Windows slowness (#150)
Work around .git in 'wildignore'

Closes #119.
Map cv to :Gcommit -v
Use --work-tree to fix :cd side effects in :Gcommit

Closes #155
Revert "Use --work-tree to fix :cd side effects in :Gcommit"

This reverts commit 903ad4d70470fed5d73e1b0d61c1bbf42d19104c, which
broke :Gcommit when invoked from a subdirectory of the repository.
Really turn off modelines in commits and :Gstatus

Partially addresses #162.
Don't abort s:ReplaceCmd on modeline error

Partially addresses #162.
Try harder not to choke on broken modeline

Partially addresses #162.
Use ==#
Hack around broken :Gcommit with symlinked .git
Use y<C-G> to yank the current object's path

In response to #165.
Don't wipe status buffer

This was to address #105, but the annoyance factor is too high to
justify keeping it.
Preserve alternate file in :Gmove

Second time's the charm.  I've decided moving is sufficiently different
from copying to justify this.
Decamelize s:ExtractGitDir

Rule of thumb: reserve camel case for imperative functions.
Support bare repositories that don't end in .git

Closes #117 and supports #139.
Support .git-file repositories

This supports the new submodule structure and closes #139.
Support more git index locations

Matches:

    .git/index
    .git/index.lock
    .git/modules/submodule/index
    .git/modules/submodule/index.lock