Avoid overriding isFree value for vlans and units in different vcpes.

Before this patch, retured value in isFreeVlan and isFreeUnit was the result of isFree in only the last evaluated vcpe.
This was due to isFree value overriden in each vcpe.

This patch ensures value is not overriden, but instead isFree is the result of ANDing for each vcpe.
Exchange traversals for searches in isFreeChecker.

Unfortunatelly, the use of iterators makes the class less readable.
Merge pull request #501 from isartcanyameres/fix/dont-override-isFree-value-in-each-vcpe

Avoid overriding isFree value for vlans and units in different vcpes.