Update depencies, fix deprecations

Tests have been run, and everything seems to be working.
I suggest setting bounds on base, attoparsec, mtl, blaze-builder and QuickCheck. Even if the bounds are just `== X.Y.*`. This will mitigate breakages significantly as these libraries have large dependency trees or may have had significant API changes.