Updated the user/create documentation.

The documentation previously indicated that the "flags" associated with a user's account were required. This is not the case as they all have default values.
Fixed a bug regarding user creation.

The password and email address fields were flipped in user creation. This has been fixed.
Added the email parameter for account creation.

Added the optional email parameter for account creation. This is still an admin-only function, and when admins create new accounts they do not have to supply a username per the Mobilize requirement.
Created and tested self-registration.

Created self-registration via two APIs. The first is /user/register which allows someone to create an account. It will create a disabled account and an entry in the user
 registration table, and it will send the user an email with an activation link. The link points to the second API, /user/activate. This will implicitly verify the user'
s email address and activate their account. We keep track of when a user registered their account and when they activated it.

Closes #204

Squashed commit of the following:

Author: John Jenkins <jojenki@cens.ucla.edu>
Date:   Thu Mar 15 16:43:47 2012 -0700

    Removed the debug public ReCaptcha key.

Author: John Jenkins <jojenki@cens.ucla.edu>
Date:   Thu Mar 15 16:27:33 2012 -0700

    Added a default value for the from address.

    This should be changed in a real deployment.

Author: John Jenkins <jojenki@cens.ucla.edu>
Date:   Thu Mar 15 16:25:42 2012 -0700

    Removed debugging info for the mail server.

    The /web/WEB-INF/properties/mail.smtp.properties file contained personal information for testing. This is removed and all defaults are used. The defaults will most-likely need to be replaced.

Author: John Jenkins <jojenki@cens.ucla.edu>
Date:   Thu Mar 15 16:25:30 2012 -0700

    Added and updated documentation.

Author: John Jenkins <jojenki@cens.ucla.edu>
Date:   Thu Mar 15 16:13:56 2012 -0700

    Added the account activation component.

    The user can now click on the link and activate their account. This confirms their email address, switches the enabled value to true for their account, and records the time at which this happened.

Author: John Jenkins <jojenki@cens.ucla.edu>
Date:   Wed Mar 14 18:18:20 2012 -0700

    Changed the registration ID to a hash.

    Before the registration ID was a random UUID and the user's username was being added to the URL as a second parameter. Now, there is only one parameter for the activation URL that is sent in the email and that is a registration ID that is a hash of the username and a random UUID string.

Author: John Jenkins <jojenki@cens.ucla.edu>
Date:   Wed Mar 14 17:35:54 2012 -0700

    Finished user registration.

    Users may now make registration calls to the server for new accounts. This will result in their account being disabled, their account be associated with the public class, a registration row being added to the registration table, and the server will send an activation email to the user.

    There is a requirement that the server must have access to a SMTP mail server, and they must populate the mail.smtp.properties file with this information.

Author: John Jenkins <jojenki@cens.ucla.edu>
Date:   Wed Mar 14 12:53:04 2012 -0700

    Fixed the ohmage DDL.

    The ohmage DDL still had the email in the user_personal table as well as the JSON data. The JSON data has been removed, and the email has been moved to the user table.

Author: John Jenkins <jojenki@cens.ucla.edu>
Date:   Wed Mar 14 12:25:44 2012 -0700

    Initial commit.

    The registration has been added to EasyPost but it is undocumented. Currently, it can validate the request, create the user, and send an email. Next, we need to add a table for storing the registration values with a time the registration was generated and the time it was accepted. Then, we can move onto the other half of registration which will confirm the request and activate the account.