TeachingTimetables semester enumeration changed
Created the Cache layer

The Cache layer is used to shorten the response waiting time.

Right now the Cache is active on: Sport, Courses and UsiPeople
modules.
Removed obsolete configurations
Initial PUSH support

Added the initial support for the PUSH messaging system.

New database tables:
- Messages: stores the pushed messages
- AndroidDevices: list of android registered devices
- iosDevices: list of iOS registered devices
Login, Logs and Push Message sections

Added new Web Modules

Login: This module is used to authenticate the administrator
Logs: This section shows which messages have been pushed
Push Message: This section is used for pushing messages to android
and iOS devices
USI theme draft
Forgot the users table
Apply autoupdated timestamps on all the tables
Report push messages by email
Added Services to the Cached layer

The informations are now extracted directly from search.usi.ch.
Added Services to the Cached layer as well.
Added Executive Master module

Added Executive Master module and remove Services mysql table.
The Services information are now extracted from search.usi.ch.
Added Executive Masters section
set apnUrl to empty inside messenger config
Register devices by uuid and not by regid/token

The regid and the token obtained from the app are not persistent.
They are changed every time the app is upgraded or reinstalled.
This commit introduces the uuid device which is used as primary
key and avoids duplicated device registrations.
Bugfix: Android and iOS registration fix

When the Android and iOS device registration were updated the
regid and token were not. Regids and tokens change from time to
so this was a problem.
Separated professors from assistants

Separated professors from assistants inside the
USIdb->getCourses() function.