More support for Model/Datasource date formatters

This allows date formatter functions to be called during the deconstruct() process and not just the save() process. This is helpful for systems that need custom date objects/strings, like MongoDB.

Example when setting the formatter to 'MongoDbDateFormatter' within the datasource.

```php
function MongoDbDateFormatter($format, $time = null) {
	if (is_string($time)) {
		$time = strtotime($time);
	} else if (!$time) {
		$time = time();
	}

	return new MongoDate($time);
}
```

This is primarily to support non-created/modified datetime fields.