Add basic framework for tests against the API

Unit tests are now in `test/local` and API tests in `test/remote`.
Full test of the / API endpoint
Add error checking to all API endpoints
Basic testing of the `/failedLoginAttempt` and `/passwordReset` endpoints
Basic testing of the /check endpoint
Include all parameters in the logging of /check
Remove unreachable return statement
Travis needs to run memcached for the functional tests to work
Functional test: blocking an email with too many failed logins

The test looks like this:

1. clear all bad logins
2. check that the account is not over the limit
3. use the /failedLoginAttempt endpoint to go over that limit
4. check that we are over the limit
5. wait until the bad logins expire
6. check that we're no longer over the limit
Functional test: blocking an email that was sent too many messages

The test looks like this:

1. clear all blocked emails
2. check that the account is not blocked
3. use the /check endpoint to simulate password resets via email
4. check that the email gets blocked
5. wait until the block expires
6. check that we're no longer blocked
Functional test: simulating a few bad logins and emails

The test looks like this:

1. clear all blocked emails and bad logins
2. check that the account is not blocked or over the bad login limit
3. use the /check endpoint to simulate password resets via email
4. check that the email is not blocked
5. use the /failedLoginAttempt endpoint to go up to the limit
6. check that we're still under the limit
7. check that we can still login
Merge pull request #13 from fmarier/functional_tests

Functional tests
Add a few useful comments to describe what's going on
Merge pull request #29 from fmarier/moar_comments

Add a few useful comments to describe what's going on