caqti-persist: Adjust emitted type definitions.
caqti-persist: Generate burst function.
Prepare for generator-specific options.
caqti-persist: Support separate types generation, etc.

  - Make persist_patch polymorphic.
  - Use Prime.counit in place of ad-hoc empty type.
  - Add generator for separate types module and related option to use it.
caqti-persist: Add generator for optional types.ml.