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.
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
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)
Add support for QuickCheck Mini
Implement merged overlays

This allows overlay_vars to merge comma delimited var config files
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.
Add rebar-deps env to port compiler SharedEnv

REBAR_DEPS_DIR is often needed when a nif needs to be linked with a raw
dependency.
Merge pull request #85 from ratelle/rebar-deps-dir-in-port-compiler

Add rebar-deps env to port compiler SharedEnv
Merge branch 'master' of git://github.com/ferd/rebar into ferd-master
Fix searching for plugins

If a plugin is in a dependency, rebar didn't search for it carefully
enough.
Add support for ping command on windows in the simple node runner
Merge pull request #90 from Motiejus/dep_plugin

Fix searching for plugins
Use "pwd -P" to get the current physical path.

It is a portable version of the realpath(1) utility that you can find on
Mac OS X and FreeBSD (see also The Open Group Base Specifications Issue
6, IEEE Std 1003.1).

Without the -P flag, pwd(1) might return different values when the
current path contains one or more symlinks, depending on how you got
into the current directory.

In simplenode.runner, this may cause PIPE_DIR to have different values
on each use, which will make it impossible to connect to the running
node unless you guess the correct path yourself.
Merge pull request #91 from syl20bnr/ping-command-for-windows

Add support for ping command on windows in the simple node runner
Merge pull request #75 from rpt/master

Support for QuickCheck Mini