Persistence API

Adding in initial persistence interface. This is the higher-level API for these items, but it implicitly defines the API the lower-level "engines" must produce.

@ericolson-wf @tannermiller-wf @beaulyddon-wf @johnlockwood-wf