Fixed license header
Added LICENSE text for GPLv3
Conversion to MVC methodology

Created main function which acts as a proxy between the "backend" functions and
the "frontend" functions that the user interfaces with.

Renamed old "frontend" functions to *_sys, which are now called by main.

Created new "frontend" functions which are nicely named so the user can call
them easily.