Make EditController edit_entity method always return an eid
In cases the entity was to be created or copied, eid was None hence the method
returned None despite the dosctring says the method should always return an
eid. Now if the eid variable is None, it is assigned to the newly created
entity eid.
Closes #3593029.
[migration] Improve update of in-memory schema during 3.18 CWAttribute.defaultval change
We weren't updating the schema properly so a bunch of structures still
had the old rdef with 'String' as object. That caused failures to add
new attributes later in the migration as their default value would be a
Binary object but the schema would expect a String.
Closes #3683640