Codereview

First look at the code, I  noticed error handling in commands could be streamlined a bit. I made it so that all the different commands return an error if the error is something the server should actually worry about (redis disconnect as opposed to wrong number of arguments or something). In doing this I refactored a couple parts.
needs to be behind `unsafe`