Added default value for Card.DTEnd field.
Implemented better method of record saving via UPDATE statement instead of REPLACE.

This solution should fix bug with record replacement when unque index has been created on table.
Card table got unique index on CardID.
Migration script update.

Note: Card.CardID unique index has not been included to this migration script
due to possible inconsistencies in source data.
Editor.save now handles sqlite3.IntegrityError
Error message after failed save operation should be more informative.