3.0 mass assignment

This implementes feature described in https://github.com/cakephp/cakephp/issues/2324

I went ahead and only implemented `accessible` (instead of both accessible and protect) as I think it does not follow the rest of the API having two method for doing the same thing. A difference from wat is described in the ticket is that $_accessible is a map and not just a list. You can specify which properties are accessible and which not, plus having the ability to set a default for any property not declared in the array.

Also tried to squeeze this into the Marshaller, but I had a couple questions:

* Should $_accessible be static? How do we plan having defaults the entity type?
* Should Marshaller take an array of properties instead of just '$safe'? this way we won't need to make `$_accessible` static as we can pass the options form the outside to any future instance.