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
Implement 'rebar help CMD1 CMD2' and extend common 'rebar help' msg

* allow plugins to print help message for implemented commands
* append core rebar.config options to common 'rebar help' message
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
Change simplenode template files to work on more platforms

When developing Riak, we have found bugs and other issues due
to the number of platforms we support.

Here is an overview of the changes:
  -  Fix command-line syntax for commands to work on *BSD / Sun
  -  Add chkconfig and getpid to nodetool
  -  Replace platform specific 'kill' commands with a nodetool
	getpid method
  -  Fix RUNNER_USER settings to work on *BSD
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)
Support reading mustache 'lists' from files

This commit add support for reading mustache 'lists' from files, so you
can use the list section functionality when templating things.

An example of the list syntax is as follows:

{package_commands, {list, [[{name, "riak"}], [{name, "riak-admin"}], [{name, "search-cmd"}]]}}.

Then you can, for each of the list elements, render some text:

{{#package_commands}}
chmod +x bin/{{name}}
{{/package_commands}}
Fix handling of Unicode characters in env vars
Merge pull request #22 from tuncer/help

Implement 'rebar help CMD1 CMD2' and extend common 'rebar help' msg
Merge pull request #59 from Vagabond/adt-read-lists-from-files

Support reading mustache 'lists' from files
rebar_core: document pre-dirs association
rebar_core: remove useless return after ?ABORT call
rebar_core: fix broken indentation
Update rebar repo urls