Add new document constructors, refactor cloning of documents and fix changing of existing field values.