cmp: fix evaluation order of sequence compiler macros
Minor improvements to define-compiler-macro* (bail out if we detect :allow-other-keys arguments, define a named block such that return-from works as expected). Major refactor of sequence compiler-macros: use define-compiler-macro* which handles correct evaluation order, define new macro to handle common stuff for all sequences compiler-macros (e.g. inline policy checking, check that test and test-not are not both given). The main expansion logic in the compiler macros is unchanged although the code had to be slightly rewritten to accomodate the new macros. Remove the now superfluous seq-opt-parse-args function.