more flexible Makefile
add cabal-dev/ to gitignore
require recent version of pipes
separate library from executables
add missing build step (nerfed it in earlier commit)
add Travis CI config