Prefix global configuration variables with ACP_
Use subtype when the type is array or dict
Use anonymous sub for key validation in arrays & dicts.

The anonymous sub is a closure, capturing the array/dict key name at
tying time (in runtime), and compiling it into a call to validate_keys.

This lets us have arrays & dicts call validate_key on each value
insertion!
Update validate_key to test values inserted into array
Reorder AcceptEAPTypes tests for clarity