Rewrite to beta state

- Rewritten in Ruby, added (full) test coverage
- Moves from text message approach to fully phone call approach (can add other interfaces later)