An integration test suite

This test suite uses cram to run integration tests through `/bin/sh`.
The tests are all high-level acceptance tests; they should work
regardless of the implemention code.

To run them, you must first install cram:

    sudo pip install cram

Then the `check` target will run them:

    make check

Failure output should be printed clearly to stdout, but in general: full
test output is in `test/test-suite.log` and output specific to a test
named `foo.t` is in `foo.t.log`.

Tests are now encouraged in `CONTRIBUTING.md` as part of the normal pull
request process.

This is a TAP-enabled test suite.
Allow rcm to preserve the full path when running inside a subdirectory.

This is best explained with an example, if I want to track a file like
`~/.bundle/config`, the correct way would be:

    ~$ mkrc ~/.bundle/config
    --> ~/.dotfiles/bundle/config

But if you are already inside the directory, say:

    ~/.bundle $

and you ran:

    ~/.bundle $ mkrc con<TAB> # for autocomplete
    ~/.bundle $ mkrc config
    --> ~/.dotfiles/.config

Which is obviously not what you meant, I've been working around running
`mkrc $PWD/<TAB>`, but it seems unnecessary.

This basically checks first if the file exists in the current working
directory and if it is, it's expand the full path.

    ~/.bundle $ mkrc config
    --> ~/.dotfiles/bundle/config
Follow @pbrisbin suggestion about avoid modifying global variables
Use case globbing
Add tests to preserve_path feature
Merge branch 'po-mkrc-cwd' of github.com:PaBLoX-CL/rcm into po-mkrc-cwd

Conflicts:
	bin/mkrc.in