C binding for lmctfy

C binding for lmctfy.

- It requires [protobuf-c](https://github.com/protobuf-c/protobuf-c) to generate c code for .proto
- All function names prefixed by ``lmctfy_``
- For any method which requires a protobuf generated class as its parameter or its return value, there will be two functions: one's name follows the original method name; another's name is suffixed by ``_raw``. The ``_raw`` functions takes a serialized buffer to represent the protobuf generated object.
- Any method which returns a ``::util::Status`` or ``::util::StatusOr`` has a corresponding function in the c library which takes a ``struct status *`` as its first parameter. The status structure will be used as output. Those functions will also check the error code in the status structure before executing other code in the functions. If the error code is not zero, they will return immediately with the error code.