squash! [sieve] bc_eval.c: add :count match-type support to hasflag test

We can't have :count and :regex at the same time since they are both
MATCH-TYPEs
[sieve] sieve.y: remove bytecode dependence on sieve.y

The internally #define'd COPY was unnecessarily assigned to a structure
that ended up being part of the bytecode.  Since it is a true/false
value, we simply assign a value of 1 instead of the value of COPY.
fixup! [sieve] add parser support for imap4flags
squash! more comments for tests

[sieve] add legacy test cases for :flags argument to fileinto and keep
[sieve] add legacy test cases for hasflag test