bundle together watcher searches

it's first attempt at wide bundling of watcher searches.
So far it supports:

* bundling of positive conditions (=, like, is null)
* conditions can be mixed with conditions on other fields:

    (Cc.foo = a AND Subject = s) OR (Cc.foo = b AND Subject = s)

The following cases are not bundled while in theory they could:
* Cc = 'foo' OR Requestor = 'bar'
* Cc != 'foo' AND Cc != 'bar'
uncomment heavy tests and put them under ENV variable

instroduce $ENV{RT_TEST_HEAVY} that enables heavy tests.
In this case these are 70k+ tests that test searches by
watchers combined in different ways.
Explain the process of watcher join bundling in a comment

Hopefully this will make it easier to revisit in the future when it
comes time to fix a bug or extend it.
Merge branch '4.0/joins-bundling' into 4.0-trunk