Revamp undo / pending process

Added new database of enumerated properties that can be set/updated
using the transactional db model.  This should potentially solve the
undo/redo bugs that were sure to show up under the old model.