Client Side
Some minor fix to clients management.

Server Side
Authentication management

1. Added current_user method to ApplicationController
   The current user is stored in session
   If no user is currently authenticated, the backend replies with 401 +
   error_msg.

2. Added authentication_required to UsersController for ALL actions.

This is just a proof of concept for basic authentication. Lots of
adjustments are required.
Client Side
Authentication Management
Added change of location upon logout and login failure
Server Side
Specs adjustments to deal with authentication

Added two spec helpers:

login_as(user)
and
logout()

The first one stubs ApplicationController#current_user so that it
returns the user passed via parameters.
This allows us to impersonate a given user (with its roles and
everything) during a spec.

Likewise, the second helper, stubs the same method as before except this
time we are always returning a nil. This has the net effect of a logout
since no current_user is defined anymore.
Server Side
Spec helpers

Removed debug output from login_as and logout helpers.
Client Side
Bug Fixing

Fixed a bug that initialized main controller multiple time.
The bug spawned because MainCtrl was assigned to 2 different scopes. One in application Layout,
the other on '/' route.

MainCtrl has been renamed to MainNavCtrl and assigned to NavigationBar in application's Layout.
A WelcomeCtrl has been created and assigned to manage '/' route.

MainNavCtrl.currentUser() has been moved to a property on the scope, since it was invoked multiple
time according to digest's updates.

Server Side
Authentication's Draft

Added Api::V1::BaseController and Api::V1::RestrictedController.
BaseController is for those controllers that doesn't need authentication while, RestrictedController
forces authentication on all descendants.

Fixed a bug on SessionsController that allowed a malicious user to logout some other logged in user.
Upon session destroying the server now checks whether the current user is the same of the one whose
session is requested to terminate. When this check fails, the server replies with status 406 (
unacceptable request).

There still is a bug with SessionController. As of now we can't place the controller under
the correct namespace (Api::V1::). When doing so, the create action fails with a NoMethodError
and complains about to_json missing from rabl_responder (or something like that).
FURTHER INVESTIGATION REQUIRED.
Server Side
SPECS
Tweaked specs to take into account authentication requirements.
Fixed users_spec that was failing due users' API now requiring
authentication.
Server Side
Specs fixing

Fixed Clients' API specs. Authentication is now required.
Server Side
Specs fixing
Fixed specs for LocationsController due to authentication requirements.
Server Side
Specs

Tweaked Locations and Interventions specs in order to account
for authentication requirements.