xapian-bridge C port

endlessm/eos-sdk#2463
it's pretty pointless, since header files are guarded against double inclusions.

the rule of thumb is: if a type is exposed in the header, then the header that declares that type gets included in the `.h` file; otherwise, it goes in the `.c` file.