Fixed an error in the include statements in hch-survey.php.

Dashes had mistakenly been entered as underscores in filenames
in include statements, which meant the files couldn't be found
by Wordpress.
Add script to make a sign-up-and-pay page.

This page will have a basic info form and then use
the WooCommerce checkout to get people to sign-up and
pay.

This script takes over the functionality of automatically adding
a product to the cart, which used to exist in the main-survey script.

TODO: the product_id added by this script is hard-coded in, but
this quite likely could change. So, it would be better to have
the activation script create a product when the plugin is activated,
and then save this product's id in a global variable, which
the new script can then reference.
First step toward query-string-based selective admittance for survey.

The main-survey.php page now includes php code to get two query-strings
and look for them in two databases, which are created by the
de-activation.php script. If the numbers passed in those two query
strings are found in their respective databases, the survey
is shown, and if not an error page is shown instead.

The two databases (and thus two variables in the query string)
number the group (e.g. a corporation) and whether that person
has paid.

At the moment, each database has a single valid value, which was
input by hand. In the future, I want an admin page that will allow
us to add new groups, etc.

However, right now, it appears to work: allowing urls with known
ids and redirecting all others (including if the ids aren't defined
in the url).
Remove the paid id check, so that only the group id is checked.

Now, only the group is checked upon entering the survey; the only way
to get there is if sent directly by our emails, or redirected from
payment, so no need to check for payment.
Implement basic hand-rolled Paypal redirection scheme.

The sign-up-and-pay.php script now has two shortcodes:
1) One for redirecting the user to Paypal to sign in and then
re-directing them to the proper pages (depending on success or failure).
2) Another to be used on the success page, to have them confirm their
payment and hit a button, which then completes the Paypal payment.

TODO: Group-tracking is not yet implemented, though I see how I will do it
in future commits.
Refactor sign-up-and-pay.php script, so Paypal calls are centralized.

The signup script has three calls to the Paypal API, so I factored
out the common parts of these, placed them into a function, which
is now called by the three different instances.

This makes the script easier to read.

Tested, and works.
Add plugin options page.

An options admin page now exists under the "Settings" tab
in the Wordpress admin dashboard. Just the page and its
title have been created, nothing more.
Add option registration code for setting up the options admin page.

These changes are a tentative beginning to using the wordpress
options api for setting up plugin options. This includes just
one toy option, and doesn't appear to work (upon submitting
the changes, the user is just redirected to some 'all options'
page, rather than the change taking effect.
Move options.php to admin-page.php, and add a globals file.

There was a naming conflict with some other wordpress script
called options.php.

The globals file was supposed to be added later, but got swept
up in this commit. Basically, it keeps the names of the databases
in global variables, to be used by all the scripts.
Remove directory prefixes for including plugin files.

Since all the plugin files are in the same directory,
and because I don't understand all the wordpress functions
for getting directories, I removed all the prefix functions
(e.g. plugin_dir_url, etc.)
when including plugin functions.

I was afraid they were causing problems.
Alter database datatypes to allow for storage of large random integers.

I don't know why I did, but I used "mediumint" for the id datatypes in the
databases. Those have been changed to allow for larger datatypes.
Finish basic group creation ability in admin page.

Now, can create three types of groups, tracked by 0, 1, or 2 in
the database, with identifying random integer tacked to each.

Name collisions are checked and reported, and id collisions
(though likely rare) are also checked (if they occur, a
new random integer is produced and subsequently checked).