Make player data play well with REST api

Refactor most of code to make app play well with REST api. Fix some
bugs and do clean up on code. Make user profile features read data from
server.
Refactor datastore module

Currently this is not used but keeped in sync with data coming from
REST API just to be consistent.
Check for null in arguments

Null arguments were making the methods fail.
Add test server and error handlers to restclient

Adds the test API url on settings page. Refactor getPlayer method to
handle error in request and remove fields from settings, only asking
for user name and password and api server url.
Refator settings and dashboard pages

Changes:
    * Move out of rest client the show error logic.
    * Settings only ask for username, password and server url to get
      the remote player requesting the API. App wont leave setting
      screen unless it is able to get the user remotely.
    * Remove default "portrait" attr on player model, it was overwriting
      server data. Adds a validation for player model.
    * Change save button to anchor again in settings template.
    * Add a check settings method to controller to not allow browsing wthout setting up everything
Move checkSettings method to BaseController
Fix player data

Server send to clients player data without "server" property
which get lost after saving. Now fixed.
Add games features from remote

Adds new collection and controller for games. Route, model and templates
were refactored to take this into account.
Refactor controlllers

Reduce the initial dependencies loaded. When executing a route. Move the
requiring code to methods inside controller.
Add ranking page
Refactor profile feature to show non owned profile