Redesigned the property system

Properties only work in classes, dot notation searches for properties
by name and a map, not getName and setName:

Also, readonly and writeonly, and getter and setter name attributes for
properties.