Keep worktree relative to GIT_DIR

core.worktree can be set relatively to GIT_DIR, thereby preventing the
hard-coding of the home directory path, which should make a vcsh setup
more portable.

On the other hand, this means that the vcsh repo.d is now invariably
linked to its position, relative to the base directory. Apply this patch
only if you think it to be less likely that people change
~/.config/vcsh/repo.d to something else, than they would rsync/tar/mv
a whole tree to a different $HOME.

Paths are resolved using Git itself, for maximum portability.

In addition to making sure the new method works on new repositories,
I checked that

  - "old" repositories can be used with the new code just fine;
  - upgrading works.

Signed-off-by: martin f. krafft <madduck@madduck.net>
Get rid of GIT_WORK_TREE during vcsh sessions

This patch gets rid of GIT_WORK_TREE completely, which makes the whole thing a
bit more transparent, I find. Git uses core.worktree anyway, so the
environment variable isn't needed.

Signed-off-by: martin f. krafft <madduck@madduck.net>
Introduce `vcsh commit`
Merge branch 'feature--vcsh-commit'

Conflicts:
	doc/vcsh.1.ronn
	vcsh
%s/richih.mailinglist@gmail.com/richih@debian.org/
%s/richih.mailinglist@gmail.com/richih@debian.org/
vcsh: Print debug and verbose info
README.md: Move mr farther down
README.md: Move usage examples up
README.md: Make intro less scary
README.md: More use cases
Fix typos in README
Merge pull request #80 from ebouchut/typo

Fix typos in the README file.
vcsh: Implement pre-/post-init hooks
debian/gbp.conf: Make Lintian more verbose
README.md: Cleanup
vcsh: Make init() less verbose
vcsh: Support `vcsh status <repo>`
vcsh: Implement shortnames for commands

    vcsh st

will now expand to

    vcsh status
Release v1.20130829