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 #203 from tomas-abrahamsson/pluggable-proto-compilers-gpb

Pluggable proto compilers gpb
Adapt dialyzer_reference to ba466e2d changes