Add gpb_codegen to the modules in the gpb.app.src
Clarify compile-time dependencies in the README
Bugfix finalization of message fields for maps

The finalization accidentally used record syntax to access the map
fields.
Make it possible to benchmark maps

Also make it possible to specify various paths to programs.
When decoding, reject messages with invalid varints.

Invaid varints are encoded with too many bits.

Previously, decoding a varint with very many bits (ie: with very many
leading bytes > 128) would cause the Erlang VM to construct a very
large number when decoding the varint. This would cause the Erlang VM
to use excessive cpu resources and could eventually cause the Erlang
VM to run out of memory. Now parsing fails immediately reading too
many varint bits.
Clarify behaviour when decoding erroneous input
Prepare for 3.3
Licence clarification/modification: does not apply to generated code

The licence for GPB does not apply to the code generated by gpb.
Prepare for 3.4
Update the licence to LGPL 2.1 from LGPL 2

The licence is now the Lesser GPL 2.1
Previously it was the Library GPL 2.
Prepare for 3.5