Fixes subclassing of lazy classes, the case when new lazy properties were added to the subclass.

Lazy superclass's properties were not taken into account when subclass was adding lazy properties.
This commit fixes BMPropertyCollector by recursive adding lazy properties from superclasses to the target subclass.

Note: the fix doesn't take into account <BMLazy> protocol because it's not possible to get 'lazy' protocol name by design.
This might bring a problem when properties are taken from non-lazy classes (theoretically :) ).