Fix for class eval optimizations in 3.6.1+

In 3.6.1+ a class evaluation optimization was introduced that prevents
the `services_array_defined` class from being re-evaluated several times
in a loop, so the `regextract()` is only evaluated for the first service
defined. To fix this, we define per-service classes, and define
`services_array_defined` using `classmatch()` on those.
Merge pull request #130 from zzamboni/fix/362-array-deref-workaround

Fixes #5625: Fix for class eval optimizations in 3.6.1+
Fixes #5634: Remove parenthesis over a single class context
Merge pull request #131 from VinceMacBuche/bug_5634/classes_surrounded_by_paren

Fixes #5634: Remove parenthesis over a single class context
Fixes #5613: Add s class selector in method call