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>
Print a more appropriate message on 'rebar info'

To avoid treating plugins' info/2 functions as commands, we catch calls
to 'rebar info'. Previously (4b8c81fb) we simply printed the help
string, but it's much more informative to print the following:
Command 'info' not understood or not applicable
Add test for regression caused by 252b31f (#90)
rebar_core: minor comment fix
Fix regression caused by 252b31f (#90)
inttest/depplugins: update docs
Fix #187 (rename getopt to rebar_getopt)

While at it, update getopt.erl to git rev 78eda3b.
Fix #187 (rename mustache to rebar_mustache)
Fix #205 (erlydtl:compile/3 returns warnings)

Adapt rebar_erlydtl_compiler to handle warnings emitted by
erlydtl:compile/3.
introduce xref_extra_paths
Document compile_only=true
Remove experimental flags

Remove experimental flag from:
* qc compile_only=true
* eunit compile_only=true
* src/foo.app.src.script
* eunit tests=
erlydtl: add missing clause (Reported-by: goofansu)

erlydtl implemented 'binary' option. Add new clause for {binary, false}.
Merge pull request #183 from EchoTeam/generate-upgrade-and-target-dir

generate-upgrade can now take target_dir argument
Merge pull request #196 from tuncer/rebar-run-info

Print a more appropriate message on 'rebar info'
Merge pull request #191 from tuncer/rename-modules

Fix #187 (rename getopt and mustache)