added handling for capturing the initial requestor's IP address

Added the ability to store the user's IP address when storing the nonce and updated the SQL to hold it.

Also added some more validation framework to the Validate object, but much of the functionality is still undefined in the spec.