JOINDIN-475 Use Forwarded and X-Forwarded-For headers in Akismet check

Add new method to Request object to set the user's IP address based on whether or not there is a X-Forwarded-For is present.

Also, refactor the SpamCheckService to have the ip address and user agent passed in rather than pulling them directly from _SERVER. This included updating the two usages of SpamCheckService::isCommentAcceptable to pass in the ip address and user agent.
Refactor Forwarded and X-Forwarded-For header processing into new Header class, and update Request class to use this new class.
Normalize the key names when dealing with kvp entities in a header
Make Request setClientInfo() use normalized key names to retrieve original client IP address and User Agent
Unit tests for new header class.
crcr fixes
Fix merge conflict with master
Add back include for Header class.

Wasn't paying attention to what I was doing when I fixed the previous merge conflict, and removed this line.
create a new, unverified user via POST to the users collection
remove the password confirmation field
add the verification tokens and email them to the newly registered user
add the endpoint /user/verifications to verify users with
add the ability to resend the welcome email with the verification token in it
Users need to be verified before they can get an access token
removing sql-testing tests
Add additional asterisk to make it a docblock.
User passwords need to be md5'd before hashing.
When registering a user, trim the username, full_name, email and twitter_username.
Extract the url in the registration email into a new config variable called website_url.
Typo fix.