Fix shellcheck warnings

And disable them when necessary. This is all dumb and terrible and I
hate this world and I really really should've used a real programming
language instead of shell why did I do this to myself.
init: use commit instead of commit-tree
commit: handle lack of HEAD gracefully

By creating a no-parent commit
init: add .tmignore in initial commit
isignored: fix directories ending in ..
insert: include type in blobs
init: fix setting of $TM_DIR
resolve-path: fix usage
List subcommands
tm: improve error message on invalid command
Fix some errors caught by shellcheck
Replace date +%s with a load of portable garbage
Clear $IFS before read(1)
Replace mktemp with something POSIX
commit-tree: add type to commit
object-type: initial commit
init: set $TM_DIR before sourcing lib.sh
init: minor fixups
lib.sh: alpha-sort
Look for $TM_DIR lower in the filesystem