Moved getRandomBoolean
Extracted if conditions into functions
Implemented property comparison to work with unknown number of propertieS
Actually use new hasNMatchingProperties()
Adapted scoring function for leftover (unmatched) items
Enhanced test items to have 3 properties