Committed to promises, added recording, and cleaned up code.

We began and finished the exodues to promises. Callbacks are now
only used for event handlers. On top of that, more code clean up
was done, such as the renaming of variables and functions to
better clarify what they do. Recording has also been added to the
admin menu. The record_conference option in the database can be
set to true to automatically record the conference when a user
joins. Admins can pause and unpause the conference in the admin
menu. When the last user leaves the conference, the recording is
stored in the var/spool/asterisk/recording directory.

* Converted callbacks to promises
* Added recording functionality
* Cleaned up some code
Cleaned up code, added group database retrieval.

Addressed some feedback, a majority of which was in userfsm.js
concerning promises. Changed some function names and comments.
Added a function to retrieve group profiles from the database.

* Cleaned up code
* Added group database retrieval
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
More addressed reviews! Added modules for userfsm.

We heavily focused on userfsm.js and broke apart most of the file
into separate modules, which helps with the overall clarity of the
file. There are 4 modules total, each dealing with different
functionality that was originally handled in the fsm.

* Added 4 modules to improve clarity
Ran files against jshint and updated.

We ran jshint on all our files to make sure everything was
following the rules. Nothing special, just clean up.

* Tested against jshint
Made a couple small changes before merging.

Removed 'new' from the creation of the bridgefsm and userfsm.

* Corrected a couple of syntax issues
Made one last change to prepare for merging.

Changed a couple variable names for clarification.

* Updated some variable names
Merge pull request #12 from bkford/revision

Revision