Added ErrorStack to handle validation errors
Record validation throws a RecordInvalidException if record is invalid (thrown at UnitOfWork::validateScheduledSaveRecords())
Added null validation on required fields
Unique constraint check does not check against self record, if it exists already
Added ErrorStackTest
Changed ErrorStack
  added get()
  added removeErrorCodeInFields()
Change date and time validation - format is defined by the constructor