Support switch template instructions
A switch variable can have multiple values
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
Move include/rebar.hrl to src/rebar.hrl

rebar.hrl is only meant to be used by src/*.
Add qualified name tests specification (see #118)

Augment 'tests' option of 'rebar eunit' command with ability to specify
tests to run using module-qualified names. This change also forced me
to change the way modules for coverage and for testing itself are
selected - module-qualified tests specifications are now taken into
consideration. Extend tests to cover new functionality. Update
dialyzer_reference accordingly.
Fix #176

Extend CONTRIBUTING.md with regards to tests and credit.
Fix a format of a debug output
Fix spec file look up

When trying to skip spec files under deps/ directory,
ignore "deps" component which is also included in Cwd.
For example, "/home/deps/src/myapp/test/cover.spec"
contains "deps" component but should not be skipped if
Cwd is "/home/deps/src/myapp/".
fix double "the" in a comment

noted by @tuncer
use the effective deps dir instead of hardcoding "deps"

suggested by @tuncer
Add REBAR to environment before executing hooks

REBAR will be set to the rebar binary which was executed and runs the
builds. Enables the use of the same binary for rebar invocations as
part of a pre or post hook like so:

    ${REBAR} escriptize
Fix build for 17.0 using the solutiong proposed by @tsloughter

We use namespaced_types option to choose between dict() and dict:dict() types.
Add namespaced_types to bootstrap script.
Add erlang 17.0 to travis
Merge pull request #292 from matwey/namespaced_types

Namespaced types: fix build for 17.0
Local corrections on string processing:

* Corrected regexp: `[x|y]` -> `[xy]`.
* Used an re:replace/4 option instead of multiple IOlist functions.
Rebasing. Fix differences with c26b0c7 c996e98 b690842.
Merge pull request #136 from waisbrot/add-p4-support

Add support for the Perforce VCS client via the "p4" tool
Merge pull request #288 from tuncer/fix-176

Fix #176
Merge pull request #119 from deadok22/qualified-test-spec

Add qualified name tests specification (see #118)