added .travis.yml
tidy up stuff
add some semantic config checking