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
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
Merge pull request #130 from yamt/ct-fixes

ct fixes
Merge pull request #281 from tuncer/rebar-h-internal

Move include/rebar.hrl to src/rebar.hrl
Revert "Merge pull request #171 from fenollp/using-stdlib"

This reverts commit 3297ffec2c89c6b7135165b4bfaeaeb07167c33c, reversing
changes made to 0401debb3cf23d67affbe465a7a438049180a608.
Add code coverage analysis functionality to `qc'

- Use `cover' with QuickCheck testing
- Reuse the `cover_*' rebar.config options
- Refactor cover-related code to separate module (`qc_cover_utils')
  for use with both `eunit' and `qc'