Switch to C++ protocol buffers and SWIG wrapping.

Should allow for specialized table implementations at a later point.