Generalize the operator pattern, plus some minor tweaks

1) Adjusted the pattern for hsOperator to include any sequence of operator characters other than two or more hyphens (so `-->` and `>--` are accepted, but `--` and `---` are not).

2) Adjusted the pattern for multi-character operators containing `.` to allow hyphens before and/or after the `.` (e.g. `.-` or `-.-`.)

3) The rule for type names only matched names preceded by a non-alphanumeric character. I added a case for matching type names at the beginning of a line.

4) The strings `qualified`, `as`, and `hiding` are only keywords within an import statement. In particular, `as` is often used to denote a list, e.g. `(a:as)`. I replaced the keyword declaration with a match statement similar to the one for the `family` keyword following `data` or `type`.