-[isEqualByProperties:] bug is fixed. Now compares correctly and quickly. Added -[isEqualByProperties:checkStructuresEqualityBlock:] method to handle manually structured properties of compared objects. Same for hash by properties.
Appropriate tests are added.