spotify-web-api: completely change the way the API works

* change the package - add a webapi layer
* make the client return a request which can either be run async or sync
* removes distinction between synchrous and asynchrous and synchrous clients
* also reduces boilerplate code which means nothing - still much can be done thgouh