xapian-bridge C port

endlessm/eos-sdk#2463
`g_free()` is `NULL` -safe and `finalize` is guaranteed to be called once per instance (also `cache-dir` is a construct property). In any case I can change it if you prefer.