Bugfix for compound_match() when using PCRE.

There was an issue with the expressions generated when using the PCRE matcher. The expression that
was being generated did not properly string together booleans with '(.*)' resulting in an eval
statement that looks like this:

    e.g: 'True (False) and not True' # This causes a boolean type not callable error.

When looping through the tokens, we need to be sure that the '(' operator is always preceeded by an
'and' so that the resulting eval statement becomes:

    'True and (False) and not True'