Avoid passing more than one instance of ERL_LIBS to child processes

This commit fixes issue #98 by removing the ERL_LIBS and REBAR_DEPS_DIR
from the list of environment variables exported by the rebar_port_compiler
plugin.
Incorrect REMSH args when sname is used

When a node is configured with -sname in app.config or sys.config the
REMSH_NAME_ARG and REMSH_REMSH_ARG arguments are incorrect due the
assumption that the node name always contains '@'.

To fix the bug, the script tries to find '@' and then compose the
arguments acording to node name type. If in long name mode the
script can't compose a correct node name exits with warning.
Make REMSH node run in hidden mode

To avoid problems with REMSH node being visible from another nodes
starts it in hidden mode (erl -hidden).
Allow specification of module dependencies for appups

The order in which modules, within an application, are loaded can be
important. This patch adds allows the specification of module
dependencies such that generate .appup/.relup scripts will load a
module's dependent modules before itself.

To use:

in rebar.config, add a module_deps

{module_deps, [{ModuleName, [DependentModuleName, ...]}]}.

ModuleName is the name of any module, followed by a list of module
names that it depends on.
generate-upgrade can now take target_dir argument

Previous generate-upgrade required renames in rel/ directory:

    rebar generate
    ...changing code...
    mv rel/<release> rel/<release_prev>
    rebar generate
    rebar generate-upgrade previous_release=<release_prev>

With the proposed changes you can now do the same without moving things:

    rebar generate # default target dir: rel/<release>
    ...changing code...
    rebar generate target_dir=<release_new>
    rebar generate-upgrade target_dir=<release_new> previous_release=<release>
Switch retest dep to upstream (dizzyd/retest.git)

Now that Dave has merged all patches, it's safe to switch back to
upstream retest.
Merge pull request #185 from tuncer/retest-upstream

Switch retest dep to upstream (dizzyd/retest.git)
Make list of commands (for unabbreviation) easier to maintain

It's easier to modify the list with each command on a separate line.
The shell completion scripts have already been modified that way.
Merge pull request #179 from tuncer/commands-list

Make list of commands (for unabbreviation) easier to maintain
inttest/rgen1: increase retest timeout (30s -> 60s)

The current default (30s) causes inttest/rgen1 to timeout too often. Add
retest.config to double the timeout.
Merge pull request #189 from tuncer/rgen1_timeout

inttest/rgen1: increase retest timeout (30s -> 60s)
rebar_config:is_verbose/0: fix variable name
rebar_log: use defines for log level numbers
Change default log level to 'warn' and introduce -q/--quiet
Write ERROR messages to standard_error device
Fix is_verbose/1 helper function
Merge pull request #184 from tuncer/logging

Fix log levels
inttest/rgen_1: double the timeout a second time

60s still seems to be too low, as it timed out for at least the R15B01
job of the timeout patch merge:
https://travis-ci.org/rebar/rebar/builds/15051701
https://travis-ci.org/rebar/rebar/jobs/15051703
Clean up rebar.config.script
rebar_dia_compiler: fix Dialyzer warnings