Factor out alarm-panel-specific functionality
Move selectors to declarative file

Future work that modifies selectors may only have to edit tests in
declarative JSON files. Hopefully this will make review easier...