[DROOLS-611] Initial abstract fact and property metaclasses