add provisional support for change lists.  This needs more detailed testing.  Includes a refactor to push most resource document creation up into a super class, hugely simplifying the individual documents