Refactor plugin, add formset type, and tweak some styling

**Related to PR #37 of the wp-flapjack repo . You should have this PR's code in order to test out this one's.**

This is a pretty extensive set of changes. It should be noted that @Scotchester started the reformatting and this was an extension of his work. Essentially, it's a lot of refactoring. There were a quiet a few places that needed to be retooled and a couple needless functions that needed to go. But with all this reformatting and deleting, there was a lot that was added, and much of it was added in the name of creating the new type `formset`. The original formset was a tweak of the fieldset type but I thought it deserved to be a standalone type given it's unique behavior. Explanation for the new type is provided in the inc/README so any explanation I'd provide here should be found there under the heading Formsets. 

Further work for refactoring could start by looking at the select field types and how their HTML is generated, and possibly looking for more inconsistencies in the code base.

***Important!!!*** This code makes changes to the keys in which data is saved in the database. This means that some of the fields that have been changed to support the formset type will not be able to access the data that has been created before this change.

**Please**, notify me when the work of reviewing this pull request is finished so I can immediately change the database for the other servers to reflect the changes so the data can be accessed by the upgraded code. Thanks.
In some of my work, I started moving away from `array_key_exists` to `isset`, because I thought we might in some cases want to set field options to `null`. The thought I had was that it would be good to always show certain field options, even if we don't want them to be set for that particular field, so that when using that as a reference to create a new field, you can see that those options are available. See wp-flapjack PR #36 to get an idea of what I mean.