Renamed "...Restriction" to "...Pattern"

* Added an 'Intersect' method to StringPattern, which creates a pattern
  corresponding to the (AND) combination of two other patterns.

* Added sense to regular expressions - you can prepend "!" to a regular
  expression text so that it represents a 'must not match', rather than
  a 'must match'.