Support switch template instructions
A switch variable can have multiple values
Add slim release support for runner script
Add slim marker file as automatic overlay
Change nodetool path to under releases/<RELEASE_VERSION>/
Add TODO comment to install_upgrade script template
Document skip_apps= and apps=
erlc: fixup log message

Using the filename as a prefix is less readable and inconsistent with
the other log messages.

Before:

DEBUG: src/foo.erl depends on...

After:

DEBUG: Dependencies of src/foo.erl ...
erlc: add test suite
Document require_*_vsn options
Add 'p4' (Perforce) as a dependency type

This calls the 'p4' command-line tool to checkout and sync Perforce
trees. It involves significantly more special code in Rebar than
using 'git p4', but it eliminates the indirection of
Rebar->Git->Python->Perforce
rebar.app: remove superfluous quoting
Fix 'rebar generate' regression (#253)

If the directory we're about to process contains
reltool.config[.script] and the command to be applied is
'generate', then it's safe to process. We do this to retain the
behavior of specifying {sub_dirs, ["rel"]} and have "rebar generate"
pick up rel/reltool.config[.script]. Without this workaround you'd
have to run "rebar -r generate" (which you don't want to do if you
have deps or other sub_dirs) or "cd rel && rebar generate".
Quote include/lib paths

In OTP-17.0 paths on windows are not shortpaths anymore
so they may contain spaces and parenthesis
file_utils: properly report errors (fix #95)

While at it, improve the error message printed by rebar_utils:sh/2.
Merge pull request #254 from tuncer/fix-generate

Fix 'rebar generate' regression (#253)
Fix 'rebar help clean' function_clause error

Missing info(help, clean) in rebar_qc.erl.
Merge pull request #265 from goofansu/fix-qc-help-clean

Fix 'rebar help clean' function_clause error
Update THANKS

Add my name to THANKS
rebar_core: consistently order args and simplify code

* Fix arg order:
  The order of arguments got inconsistent over time. To fix that, use
  the same consistent order in all functions.

* Avoid one erlang:'++'/2 call in process_dir/6.

* Avoid lists:prefix/2 and atom_to_list/1 calls:
  We can easily avoid 2 lists:prefix/2 calls and one atom_to_list/1 call
  in execute/5 by passing in whether the command is a hook or not. The
  resulting code is simpler and easier to read.