Break out schema and cache. Move gc to public API. (#716) * Break out schema and cache. Move gc to public API. * Clear cache also on db deletion. * Cleanup. * Expose gc before_tx argument to C++. * Write cache initial schema as well. * Feedback for PR. * Use set spec. * Fix format.