Addressed code reviews, broke up userfsm.js, and added group framework.

We took care of a large portion of the reviews given on our last
pull request. Some things were left untouched to focus on groups,
which we will be working on next. A majority of the work done was
in userfsm.js. We cleaned up the code, moved the functionality
into separate functions outside the fsm, and switched over to
switch statements for our menu options.

On the data side, we added functionailty to fetch groups from the
database. This is still a work in progress and is subject to change.

* Addressed reviews
* Cleaned up userfsm.js
* Prepared for group insertion