Support Protobuf serializers.

This patch introduces new ProtobufPayload to hold binary protobuf
data. It also adds the first Protobuf serializer 'protobuf-net'
which claims to be most commonly used. Unfortunatelly Protobuf
does not support jagged arrays and empty arrays. Therefore there
are two new requirements which cannot be satisfied by Protobuf.