Refactor: schemas: Separate rule element into generic and location cases
At a compatibility break, we'd like to make the rule schema more
fine-grained depending on the context in which the rule occurs.
- <rule>: "score" and "score-attribute" should be allowed only within location constraints.
- <expression>: A "value-source" of "param" or "meta" should be allowed only within location constraints.
In the meantime, we have to preserve a lot of garbage for compatibility.
The goal of this commit is to make it easier to improve the schema
granularity in the future.
Signed-off-by: Reid Wahl <nrwahl@protonmail.com>