Username/Password authentication with Passport

Refactored config.js to read db config and New security config json files.
The secret session key is in the security/config.json. This is where we
can put social media authentication keys, and any other non-database
security-related configuration.

New readByUsername method on PoetsRepository.
New AuthenticationService provides verify method that looks up a user's
password and compares it to the one supplied.

Intialize Passport in routes/index.js and configure it to use the
AuthenticationService in routes/login.js.
User registration (no password hashing yet)

Call /register POST from the registration page. Insert the username,
email, and (unhashed) password into the poets table.

Since passwords aren't yet hashed and the column is a char(64), you have
to pad the password with trailing spaces to make it exactly 64 characters
if you want to log in at this point. It won't matter, because password hashing
coming up next. Briefly considered trimming the password, but since we
don't want to be storing passwords in the clear anyway, we probably won't
need this logic.
Hash passwords on register and login.

SHA256 hash of all passwords is performed client-side before registration
and login. jQuery is used to intercept form submission and write the
hashed password to a hidden field.

There is simple validation in place to ensure that the password matches
the confirmed password, but no nice error message yet. Validation is
basically non-existent at this point. Users can submit blank passwords,
and there is no server-side validation that the password is actually
SHA256.

A user is placed on the request by Passport, and this is passed through
to the poem list page. The userId does not need to appear in the url,
since it can be accessed via the request object. No globals necessary,
either.
Authenticate user on register. Fix logout.

Automatically authenticate the user when they register. Need to bring in
passport on the register route to do this.

Changed the logout to a GET request so we can access it easily, and fixed
broken variable references in its implementation.
Fix capitialization of sessionKey in security/config.example.json
Merge pull request #12 from jimguys/passport-authentication

Passport username/password authentication