unfinished start of a Goodreads observer
we won't be using OAuth, so no api secret needed
total rewrite of Goodreads observer
the json is in the completion, not the laststate
Merge branch 'goodreads'