Finished processing form

Form now, validates, checks for course with product ID, checks if the
user already has access to that course, activates the product and then
gives user access to the course.
Moved form process logic into init action hook
Major cleaning up / refactoring

- Moved parts into separate files
- Cleaned up organization / formatting
- Improved comments
Set up a settings page
Switched to simple settings page
Renamed all the files
Lots of changes

- Success message now sent through query vars to allow for redirect to
avoid resubmit on refresh
- Form fields now retain value on error
- Simplified returns from checker functions. Now a single variable is
set false by default and set true if all conditions are met, then
returned.
- Cleaned up comments
- Lots of little improvements
Added data validation

Now the data object that's passed through all the checker functions is
checked for data needed by those functions.
Messages in global var now take precedence over query var messages
Added errors for activation as well
Fixed problem with message display

After swapping precedence, I actually prevented query var messages from
ever being shown. I had to move the message output code to another
section and recheck for global var. I may have to find a better solution
at some point.