added Pattern, PatternMap, PaternSet to datatypes (ported from Colibri, for Python 3 only)