WIP -- Don't intend to merge this

@BenDoyle 

I'm starting to add tests, break out the code in app -- this is still WIP, but wanted to run it by you see what you thought.

Thinking:

 1. as much as possible put code in lib/nomic/app.rb in rules
 2. rule runner should be able to run all rules where rules themselves can control the order (ordering bit here is yet to be done)
 3. (this is all yet to be done) rule runner will run a stack of "if all things pass execute" this way we can add deploy; which can be the first rule, then merge, then listen (not sure if a stack or a queue is more understandable here -- guess it depends on what you want as the first rule.