Added login/logout to 9gag + ability to like/dislike posts

First off, sorry for messed up pulled request, had some merge conflicts and i'm too tired to do a "nice" PR ;)

Anyways, there are 2 (big) commits:
- Login/logout which resides in networkmanager (proxied to QML via gagbookmanager) + qml stuff for that.
There are some minor issues still that we need to fix, mostly UI (like how to show wrong password since the request to login is async)

- Like/Dislike: i'm introducing a new class VotingManager that handles this via networkmanager. Like/dislike (and also unlike) are async POST-request to 9gag. I'm also getting the liked/disliked status from 9gag for each gag.
Still some issues, my main one I need your help with is why model.isLiked setter isn't called when setting from QML. I just can't figure it out right now..

Anyways, comments and thoughts more than welcome. I've tried to follow your architecture as far as I could.
//bob