Simple oauth1 for goodreads

Some changes in the design are included because they're what I needed for my project, and I think overall they're a small improvement.

I figured that as long as I made a few of changes to your library so that it can be used for Goodreads, I might as well make sure you have them as well. If you branch in your repo I actually think the best thing to do is have a separate branch that works for Goodreads.