Move validation logic into own file
Throw error instead of exiting when a missing group is encountered
Add tests
Add travis config
Merge branch 'tests'