Run eunit suites in the order specified in the 'suites' command line parameter

Normally, Rebar runs eunit tests in the order the beam files are
stored in the file system (see rebar_utils:beams).  However, sometimes
it is desirable to run the tests in a different order (e.g. to
reproduce an error found on a build server).  For that case, it would
make sense to use the 'suites' parameter not just for selecting which
modules to consider, but also for choosing the order.
Ensure we always have a `registered` value in `.app` files

`systools:make_relup/4` fails with `{missing_param, registered}`
without a `registered` value.
Correct ext of neotoma output file
Fix file handling on windows for tests

Running tests on windows creates false positive due to setup failures
not executing all tests.  Checking for tmp_dir was failing on
subsequent runs.  Added cases to tmp_dir creation to delete preexisting
tmp_dirs in .eunit directory.
Add latest version getopt that automatically wraps usage output lines
Merge pull request #24 from legoscia/master

Allow specifying eunit suite run order in 'suites'
Merge pull request #37 from nox/force-registered

Ensure we always have a `registered` value in `.app` files
Merge pull request #44 from nevar/fix_neotoma

Correct ext of neotoma output file
Merge pull request #53 from oferrigni/unit_test_file_handling_fix

Fix file handling on windows for tests
Merge pull request #60 from jcomellas/jc-getopt-0.7.0

Add latest version getopt that automatically wraps usage output lines