Cleanup and add #build_revision and attribute keeping

    This add #update_revision which creates an unsaved revision.
    
    It also brings arbitrary attributes forward. This work was done b/c it
    was just re-reading from the database, so non-db backed attributes go
    swallowed.
    

There are also a lot of cleanups to 86 things we/I don't need and update versions and formatting.