Refined exuberant-ctags extension for Scala

The original ctags extension performs poorly when locating various tags, for example, here are some bad cases:

* `evaluator`: the `val` substring in `evaluator` is parsed as the keyword `val` and a value tag named `uator` is generated.
* `private[this] class T`: (case) classes/(case) objects/values/variables with access qualifiers are not recognized.
* `notaclass T`: generates a wrong class tag `T`

The new extension refined all `--regex-scala` options to locate tags much more accurately, and added two new tag types, namely `case-objects` and `packages`.