Generate controller and configure resource routing for sessions

Generate the skeleton for a session controller with a #new method.
Add a login form for starting a new session
Add a #create method to start a new session if the user is authenticated

If the user supplies a known email and password combination, show a notice
that logging in was successful, start a new session, and return to the
application root. If the email or password cannot be validated, flash a
message and return to the login page.
Add *sign up* and *log in* buttons to the top navigation bar

Replace the placeholder text created along with the navigation bar
in commit #c6c4601.
Add a instance variable in ApplicationController to track the current user

Assign a variable to track the current user and provide a helper method
so that the application can use this information to tailor each view.
Change nav bar to display current login instead of signup/login buttons

If the user is currently logged in, replace the *sign up* and *log in*
links in the top navigation bar with a message showing the current user.
Display a *log out* button in the navigation bar

The user can now log out by activating a link in the top navigation
bar which displays a message, destroys the current session, and
redirects to the application root view.
Create user-friendly URLs for signup, login, and logout

Define new routes to alias signup, login, and logout URLs with more
user-friendly alternatives. For example, instead of /session/new,
allow /login.
Prevent a user from writing new articles if he/she is not logged in

Provide an #authorize method in ApplicationController that checks whether
the current_user is defined so that other controllers can use this to
limit functionality. In particular, ArticleController now disables creation
of new articles if the user is not logged in.
Automatically log in the new user after signing up

Add the user.id to the session when a new user is created, so that
the user is immediately logged in. Formerly, the new user would have to
log in after successfully signing up, which seemed redundant.