Fix upgrade error
Skip check for ebin directory when building edoc

edoc target fails if ebin directory does not exist.
ebin directory is not necessary for building edoc.
Skip check that ebin directory exist.
Merge pull request #376 from irpab/edoc_without_ebin

Remove check adding ebin to path for edoc target
deps: add new clause of format_source function

Function format_source in rebar_deps.erl will fail on sources
like {rsync, Path} or {hg, URL} in rebar.config.
Add new function clause to match such source types.
inttest: add missing headers and fix a typo
inttest/logging: fix log level
Implement eflame -p/--profile support

When -p/--profile is enabled, you can select the profiler as follows:

generate flame graph (eflame.svg) from trace (eflame.trace)
$ rebar -p compile profiler=eflame

generate fprof.analysis
$ rebar -p compile

generate fprof.analysis
$ rebar -p compile profiler=fprof
Introduce pluggable protocol buffer compilers

Make it possible for plug in alternative protocol buffer compilers.
The compilers are picked up based on if they export all of the
functions key/0, proto_compile/3, proto_clean/3 and proto_info/2.
The set of compiler modules to choose from, is fetched from the rebar
application environment, from the app_dir modules.

A new config option, {proto_compiler,Compiler}, specifies which of
the available protocol buffer compilers to use. The 'protobuffs'
compiler is now one such compiler (the only one), and it is also the
default, for backwards compatibility.
Add support for compiling proto files using gpb

This adds the config option {proto_compiler,gpb} for selecting gpb
as the compiler for protocol buffer files. When gpb is used as
compiler, it reads the gpb_opts config item for options.
Add proto compiler gpb inttest

exercises rebar/gpb integration

The bulk of these tests are written by Luis Rascão, hence he is the
author of this commit. As the committer, I have cherry-picked his two
commits 4c87bcd and ebb8182, from the feature/support_gpb_protobuf
branch in the git://github.com/lrascao/rebar repo, and have slightly
adapted it to fit this pluggable-proto-compilers-gpb branch.

Update the THANKS file
Add inttest for default proto compiler (protobuffs)

This borrows heavily from the inttest for gpb, many thanks
to Luis Rascão for providing a most useful example.
Merge pull request #337 from tuncer/eflame

Implement eflame -p/--profile support
Merge pull request #203 from tomas-abrahamsson/pluggable-proto-compilers-gpb

Pluggable proto compilers gpb
Adapt dialyzer_reference to ba466e2d changes
distclean: do not remove plt
Merge pull request #382 from tuncer/update-dialyzer

Adapt dialyzer_reference to ba466e2d changes
Fix Dialyzer warning introduced in 0caf047f
Merge pull request #385 from tuncer/dialyzer-warning

Fix Dialyzer warning introduced in 0caf047f
Recompile .proto files with gpb also with prefix/suffix

For protocol buffer files, when there were gpb options to alter the
module name with prefix or suffix, recompilation was not properly
detected. This is now fixed. (Issue #384).

Properly detecting change meant moving from rebar_base_compiler, so it
also meant processing protocol buffer files in sequence instead of in
parallel.
Add colored logs