AOOSModel: Major refactor
AOOSModel has been completely refactored. The meaning of types and properties have been changed: a type is strictly a
type, not something like AOOSMODEL_TYPE_DATETIME, and properties are only properties if they actually change the value
of a column, not something like AOOSMODEL_PROP_GUI_PRIVATE.
To provide same functionality flags and constraints have been added. Flags are what used to be
AOOSMODEL_PROP_DATA_UNIQUE, AOOSMODEL_PROP_FROM_DATABASE and so on.
Constraints are a new concept fairly similar to properties with the difference that constraints take arguments. This
means that it is possible to have a length constraint which automatically makes sure that the value of a column is no
longer than what is specified.
Handling of properties, types, flags and constraints have been moved to AOOSModelRow, which means that the
implementation has been simplified a lot.
AOOSMysqlInterface had some bugs and was changed to fit the refactored AOOSModel.