Adding preliminary cmd_commit()
Explain cmd_commit with short comment
Adding UNTESTED commit-all command
`subtree commit` is used to safely create commit in super tree

The behaviour is now as follows:

 - `git subtree commit -P <prefix>`: safely create a commit which
   contains only the changes within the prefix subdirectory

 - `git subtree commit -P <prefix> --branch <branch>`: copy the created
   commit to the corresponding subtree <branch> as with `git subtree merge`

 - `git subtree commit -P <prefix> --branch <branch> --rejoin`: create the
   commit directly in <branch> and perform a `git subtree merge` to the
   current branch
Remove prefix subdirectory from index before read-tree

git read-tree will not overwrite any contents. Therefore the
subdirectory has to be removed first.
Simplify and fix code to determine whether what to create
Consistency check
Fix semantic operator error: '-eq' is used for number comparison
Fix flawed consistency check
Return exit status
Add subtree() test function

The subtree() function calls the git-subtree.sh in the current folder,
not the installed version. This is useful for in-place tests without
installing the plugin first.
Add NOP test for subtree-commit on clean index
Don't stop for amending in subtree-commit
Pass -m option down to git-commit
Add simplistic tests

So far checks only whether the calls give rise to errors. Not checking
for result consistency yet.
Use separate test-repo for subtree-commit
Use git-rev-parse to determine commit-hash
Improve tests
Add description for subtree-commit in git-subtree.txt
Merge branch 'subtree-commit' into subtree-only