Tidy client interface

Tidies the actual interface we expose to people using the client:

* only allow access to parameters valid for a given endpoint (eg. remove things like `showMostViewed()` on `/search`)
* clean up how we do HTTP now there's no synchronous option

I've reordered the different endpoints so the diff is pretty much unreadable -- suggest you just look at [before] (https://github.com/guardian/content-api-scala-client/blob/master/src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala) and [after] (https://github.com/guardian/content-api-scala-client/blob/tidy-client-interface/src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala).

:pig2: :pineapple: