fix bugs in JGit.commit

* abort if no message
* abort and show status  if no files to commit!
* don't setName in Checkout if checking files, use tempname, very long
 random string, to set name to junk, check for path in args and check if
 name set to junk, then skip setName - have to jump through loops to make
 MATLAB inputParser happy, since it is set to look for string, and '' is
 not a string.
* fix typo getResult singular not plural (not getResults! no!)
* had to copy large chunk of status to check status in commit and to
 decide if there are any files to commit! Also compare modified against
 only.
* fix bug, strtrim removes all whitespace including newline ASCII:10, this
 fix is more elegant b/c now jgit also throws java exception, we could
 catch this and only display nice abort message, but no.
* add newline at end of non-empty message
* in status (and commit) don't need to check ignored files, and compare to
 untracked b/c definition of untracked is already **not ignored!**
* add different message for untracked and unstaged, don't show any message
 if neither!
* fix missing fid, don't always print untracked to stderr, if commit is in
 editor use open file fid.
* don't need to check for short and long options, checking for short also
 catches long options!
* use new parseOpts in branch! yay!
* in parseOpts change some var names: parsed_opts->options and
 options->argopts, clean up example
* fix bug in splitShortOpts, only catch short options, ignore long options
* add testBranch class using MATLAB unit-test framework and testRepo.zip