Use :require instead of :use

The title speaks for itself but I did this mainly to promote current best practices in Clojure and also to help me understand the source better. In some case there were namespaces that were `:use`d but not being used so I removed them. All of the tests still pass.