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.
change cover html generation to produce valid html

- added missing doctype
- added encoding statement
- removed invalid additional opening <body> tag
rebar_eunit:reset_after_eunit/1 mustn't remove 'included_applications'

One could argue that rebar_eunit does some pretty dangerous stuff when
trying to clean up after a test run, but specifically, it tells the
Application Controller to delete everything returned by
application:get_all_env(App). Unfortunately, included_applications
also goes, which can lead to a crash in application_controller, if
the application is subsequently unloaded.

This patch attempts the smallest possible fix: remove all env
variables except included_applications.
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.
Remove leading empty line from a template
Add latest version getopt that automatically wraps usage output lines
break overlong line
Add standard xref checks and improved suppression

* Allow the following predefined analyses :
   undefined_function_calls, undefined_functions, locals_not_used,
   exports_not_used, deprecated_function_calls, deprecated_functions

* Trap some possible errors in case module information is not
    available

* ignore_xref works on all checks and can take {M,F,A} tuples.
  (Automatic behaviour export suppression still only works on
  exports_not_used)
Makefile: call Dialyzer with -nn flag

This speeds up 'make dialyzer' for the common case of Erlang/OTP built
without --enable-native-libs.
Add support for QuickCheck Mini
Implement merged overlays

This allows overlay_vars to merge comma delimited var config files
simplenode.reltool.config: use default sys-level mod_cond setting

As discussed here
http://erlang.org/pipermail/erlang-questions/2012-December/071135.html
change the reltool spec to use the default sys-level mod_cond setting.
Merge pull request #66 from tuncer/dialyzer-no_native

Makefile: call Dialyzer with -nn flag
Merge pull request #43 from tuncer/reltool-mod_cond

simplenode.reltool.config: use default sys-level mod_cond setting
More error logging

rebar throws away some error messages, e.g. the ones generated if the yecc compiler is broken.
Merge pull request #81 from massemanet/patch-1

More error logging
Do not compile nodetool escript

This removes the dependency on lib/compiler in an OTP release.
Handle ct_run exit codes in R15B02 and later

Since R15B02, ct_run returns a non-zero exit code when some tests
failed or were auto-skipped. (See ticket OTP-9865.)

This fix makes it so a non-0 code doesn't cause an instant failure, but
still prompts for log verification before doing so. Given the behaviour
was acceptable for pre-R15B02, it should be valid with it with
post-R15B02.

The fix should also be backwards compatible.