Split WS API from Ning WS implementation

Props to @baloo for helping with this refactor:

First pass only: this tries to keep new features to a minimum: once this gets committed then we start adding new methods and refactoring more.
Also note that this does not attempt to refactor OAuth, which still inherits from Signpost classes.  There's a separate branch for that.

Moved all classes / traits to be in ws package, no nested WS._ import needed.
Aliased old types in the package object and aliased the types.
Moved Ning implementation out into ning._ package.
Added underlying[T] : T to avoid returning AnyRef (covariant types don't play well with Plugin model).
Made the Ning classes use composition instead of inheritance, provided a RequestBuilder and deprecated methods for places in the code relying on inherited public methods.
Made JavaWS use a distinct WSPlugin that will return Java versions of all classes.
Added a WSClient with a url() method to the API, threaded the client through WSRequestHolder/WSRequest.

There is an API breaking change from `WS.client : AnyRef` to `WS.client(implicit app: Application): WSClient`  

The plugin model requires an implicit app, but maybe it would be better to keep `client : AnyRef`, only deprecated and add wsClient : WSClient to WS.