Cover an edge case of attributes() ignore the class attr_accessor for Entity

If an entity class has both attributes (defined with attributes() DSL) and its own attr_accessor
the attr_accessor should be initialized upon the contruction of the object.

Besides, a change in attributes() DSL constructor to raise exceptions when an invalid attributes is assign
through constructor params
There is one for the default constructor, I'll add another one for the DSL.