mq: new commands qselect, qguard
implement quilt-style guards for mq.
guards allow to control whether patch can be pushed.
if guard X is active and patch is guarded by +X (called "posative guard"),
patch can be pushed. if patch is guarded by -X (called "nagative guard"),
patch cannot be pushed and is skipped.
use qguard to set/list guards on patches. use qselect to set/list
active guards.
also "qseries -v" prints guarded patches with "G" now.
*** 'a\nc\n\n\n\n' 'a\nb\n\n\n'
*** 'a\nb\nc\n' 'a\nc\n'
*** '' ''
*** 'a\nb\nc' 'a\nb\nc'
*** 'a\nb\nc\nd\n' 'a\nd\n'
*** 'a\nb\nc\nd\n' 'a\nc\ne\n'
*** 'a\nb\nc\n' 'a\nc\n'
*** 'a\n' 'c\na\nb\n'
*** 'a\n' ''
*** 'a\n' 'b\nc\n'
*** 'a\n' 'c\na\n'
*** '' 'adjfkjdjksdhfksj'
*** '' 'ab'
*** '' 'abc'
*** 'a' 'a'
*** 'ab' 'ab'
*** 'abc' 'abc'
*** 'a\n' 'a\n'
*** 'a\nb' 'a\nb'
done