Fix crash bug triggered by hole-tagged extraordinary faces

note 1 : this fix is somewhat delicate and may trigger other problems that
         i did not notice with superficial testing
note 2 : extraordinary faces surrounded by holes still break in adaptive mode
Fix crash bug in catmark subdivision tables factory

GetValence() cannot be called on singular vertices. Singular vertices can be introduced
in an Hbr mesh as a result of hole tags, so we have to check for that when ranking
vertices for the subdivision table.