Persist OriginalRecord

This is a substantial rewrite of OriginalRecord to allow them to persist to LDP.
This is interesting because I'm trying to understand how Rails loads its code, and I'm seeing:
1. `lib/krikri.rb` requires `lib/krikri/engine.rb` (it's loaded immediately / no autoloading)
2. `lib/krikri/engine.rb` requires `lib/krikri/ldp.rb` (loaded immediately) and then that sets `lib/krikri/ldp/resource.rb` up for autoloading.

It seems intuitive that each module would require or autoload its children, so I can see how `lib/krikri.rb` would (auto)load `IndexService`.  The convention of each module having a file (e.g. `lib/krikri/ldp.rb`) for the module and a directory at the same level (e.g. `lib/krikri/ldp`) for the sub-modules is consistent with other languages / applications.

What guides the decision to have `Krikri` require `Krikri::Engine` but to have `Krikri::Engine` require `Krikri::LDP`, instead of having both be required by `Krikri`?  Also, to have `IndexService` autoload, while other modules are required?  In general, when do you decide to wait and have something autoload versus require it at startup?