Refactor the model initialization step & generalize attributes inheritance on non array.

- All autoConfig related attributes don't inherit form parents by default.
- `Model::_inherit` allow a custom attribute to inherits form parents

```php
class MyModel extends \lithium\data\Model {
	// `$_custom` will inherits `array('prop1' => 'value1')` form it's parent
	protected $_custom = array(
		'prop2' => 'value2'
	);
}

class MySubModel extends MyModel {

	protected $_inherit = array('_custom');

	protected $_custom = array(
		'prop1' => 'value1'
	);
}
```

The following attributes are inherited by default:
`'validates'`, `'belongsTo'`, `'hasMany'`, `'hasOne'`, `'_meta'`, `'_finders'`, `'_query'`, `'_schema'`, `'_classes'`, `'_initializers' `