Refactored masquerade and http stuff into their own files

@myleshorton The client.go file was getting pretty big, so I moved out a couple of things.

http.go - Just has the HttpClient class

masquerade.go - Has the masquerade checking logic.  I factored this into its own class, which I think makes it easier to see what's going on.  The logic is still the same as yours.