Filter hidden classes after detecting namespace collisions in autocomplete

This submission corrects the earlier PR:https://github.com/DynamoDS/Dynamo/pull/2911 to filter classes that were hidden from library. This was causing class name collisions to be examined after filtering out hidden classes, which is incorrect as then collisions with hidden classes are not detected. This is corrected here by first testing for collisions and then filtering out hidden classes by their `IsHiddenInLibrary` property.

@Benglin please review.