Property names ignored by INPC and those ignored by backing up object data when BeginEdit() is called were extracted to new Names class.

Re-implemented the IEditableObject in EditableObject by using "in-transaction-flag".