Updated file header
Introduces the use of local storage into the application

This commit is an attempt to reduce the number of RPC calls to the
server. By caching the user's profile data locally using the storage
space introduced with HTML 5, the number of RPC calls to retrieve
the profile data is reduced.

The code has been introduced in two screens, the ContestDetailsScreen
as well as the ProfileScreen.
Modified the update profile code to update the local storage as well

Modified the update profile functionality to modify the profile data
stored in the local storage in addition to the database. This ensures
that the user experience is as seamless as possible.
Removed the LocalStorage class as it isn't needed.
Added in basic support for history tokens.

TODO: Go through every single instance of setContent() and ensure
that history tokens are set.

I also added a new class containing some basic field validations.
Added history tokens for most of the links.
Fixed a bug that occurs when email is changed twice in a single session.

The bug was caused due to Shiro using the email address as the primary
pricipal of the authenticated session. This causes issues if the email
address is changed as Shiro offers no avenue for updating the pricipal.

The bug is fixed by changing the authentication process to use the
never-changing contestant_id primary key of the Student class.
Merge pull request #1 from Ayrx/master

Local Storage // History Tokens // Bug fix