t/setup: quieten down commands that we run

A couple of commands in the test setup mess up the test output by
spewing to stdout.  Make them be quiet.

Signed-off-by: John Keeping <john@keeping.me.uk>
t/setup: die if creating the test repository fails

Signed-off-by: John Keeping <john@keeping.me.uk>
integration --create: fix option parsing on dash

With dash, "shift" when $# = 0 causes a fatal error, killing the shell
instead of simply returning non-zero from the builtin command.  This
causes problems with the code in integration_create, which does:

	base=${1-master}
        shift

Obviously if the default base is to be used then $# = 0 at this point,
which causes the following "shift" to fail.

Fix this by avoiding shifting away this parameter and changing the
"correct usage" test to detect $# -le 1.

Signed-off-by: John Keeping <john@keeping.me.uk>
Makefile: introduce SHELL_PATH to specify a different shell

This allows git-integration to be installed on systems where /bin/sh is
not a POSIX compliant shell.  It also allows easy testing with
alternative shells, such as /bin/dash on systems where /bin/sh is bash.

Signed-off-by: John Keeping <john@keeping.me.uk>
t: respect SHELL_PATH

Signed-off-by: John Keeping <john@keeping.me.uk>
Makefile: run tests more quietly

Signed-off-by: John Keeping <john@keeping.me.uk>
gitignore: ignore test trash directories

Signed-off-by: John Keeping <john@keeping.me.uk>