refactoring of Property and PropertyBuilder, added BeanUtils method to set a property using a Property instance