Make the `negate` and `append` flags templates, allows operations to use static_assert to forbid i.e. appending if they would need another buffer.
Negate flag is a bool now, as in the grammar. Arbitrary factors aren't supported anyway, i.e. y = -1 * conv(k, v), only y = -conv(k, v).