Rewrite, Part 1

In this branch, I am going to be doing a *lot* of work that won't compile.  The reasons are many, but all basically revolve around the vast number of changes I need to make.  This commit starts that work.

Step 1: Remove response and response_json.  In our case, at least, it's a very bad idea for the oauth2 library to create responses, itself - our server has a set of codecs and a specific format that it prefers to encapsulate response data within, and the oauth2 endpoints are the only endpoints right now that don't follow those formats.

Step 2: Set up errors with response codes.  These are *recommendations* for the response code that should be used by the web server, not requirements.  The server can use any response code it likes.

Step 3: Update access.go to use the new errors, get rid of many places where *Response is used, etc.

I know I've missed some things (I can see them right now), but for the moment, that's unimportant.  I'll get it all working and tested later.
Get rid of all references to w (a *Response)
Use HttpError values in all util.go functions
package name
Compile error fixes for files that should compile
Compile error fixes for files that should compile
Continuing to change everything to use HttpErrors
Update authorize.go with new design
Remove final traces of Response and ResponseJSON
gofmt
Rename OsinAuthorizeData to BasicAuthorizeData
Rename OsinClient to BasicClient