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>
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
Support switch template instructions
A switch variable can have multiple values
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
bootstrap: avoid trying to run 'debug' command

If you invoke 'make debug', then bootstrap executes rebar:main/1 with
the extra argument "debug" and rebar treats that as a command. There is
no such command.

Without this patch you will see the following on bootstrap:
Command 'debug' not understood or not applicable
Merge pull request #199 from tuncer/dia-dialyzer-warnings

rebar_dia_compiler: fix Dialyzer warnings
Merge pull request #200 from tuncer/fix-debug-bootstrap

bootstrap: avoid trying to run 'debug' command
Add a library template