more correct creation and edit times for entities

Cleanup of how EntityItem::_created (and friends) are set during initialization and from server updates that use EntityItem::setProperties().  Here's a summary of how it now works:

(1) EntityItem::_created is initialized to 0 in the ctors.  A value of 0 means "creation time is not yet known".  Specifically at that context we don't know if this EntityItem is going to be filled out with data from the EntityServer, or by data from a script creation event.

(2) In EntityItem::setProperties() the creation timestamp is ignored if EntityItem::_created already has a non-zero value.

(3) The path by which scripts create entities doesn't automatically set EntityItemProperties::_created to a useful value therefore we must manually set it after the entity is created.
This is the third place where we set EntityItem::_created.  This is a manual hook for a path that has a const EntityItemProperties reference that cannot be changed, so rather than make an mutable copy of the properties (potentially CPU expensive) so we can install a valid creation time, we just slam it with recordCreationTime().