Mobile authentication fix

The current way of doing mobile authentication doesn't work because it requires using https and a POST request.

http://www.last.fm/api/show/auth.getMobileSession

I also move the http request business into separate objects to reduce the responsibilities of the `Lastfm` class.  Ideally, I would have made a separate PR for that, but I need it for my fix to work.