Use more of Fabric's API to clean up fabfile

Such as confirm and abort.
Update travis config and makefile

We now build the project as part of the travis set-up.
Pin dependencies

This requires more maintenance overall but provides a better set of
defaults.