1. Generate single file for each message. 2. Lazily initiate metadata.
This pull request includes two implementation: C extension and PHP package. Both implementations support encode/decode of singular, repeated and map fields.