Refactoring: Made model schema optional and unset by default

- CM_Model_Abstract::_getSchema() now returns null by default
- Reverted changes to CM_Model_Schema_Definition: Refactored _hasDefinition() to isEmpty()
- Adjusted tests
- Added tests for models persisted without or with an empty schema
Persistence not updated any more for empty schemas

- Added tests for commit() and _set()
Refactoring: Use "bool" instead of "boolean"
Merge pull request #1188 from fauvel/issue-1188

Allow CM_Model::_getSchema() to return null