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
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.
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
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)
Merge pull request #171 from fenollp/using-stdlib

Some optimisation/refactoring using stdlib's functions
Merge pull request #229 from tolbrino/tb-patch-env

Add REBAR to environment before executing hooks