Create core pages support.

Creates controller, routes, helper, Javascript file, CSS file, view files,
and RSpec files for core pages. Core pages should be available to all
users, even if they are not logged in. The current core pages are about,
contact, help, and home.
Add first RSpec tests for core page views.

Adds basic tests for the contents and titles of the core pages created in
the last commit.

Tests are failing.
Fix path name variable mistake in routing.

Fixes route naming mistake where path variables were called
about_path_path, contact_path_path, and so on. They were corrected to
read about_path, contact_path, and so on.

Tests are failing.
Add preliminary content to core pages.

Adds basic text and titles, both subject to change, to the existing core
pages. Also, fixed minor misprint in core pages views RSpec file by
changing "Home" to "Welcome".

All tests are passing.
Refactor site name and page titles so they are defined via helpers.

Stores the site name in application_helper.rb and the core page titles
in the core_pages_helper.rb. The name and titles are returned by helper
functions, and so are "defined" in the scope that they are needed in.
This ensures consistency and makes the name and titles easy to alter.
Speaking of which, the site name was changed to "Practice Site".

All tests are passing.
Refactor code so code style is consistent and more concise.

Makes the code clearer, more consistent, and/or less verbose. Makes no
functional changes, only grammatical ones.

All tests are passing.
Create user support.

Creates model, controller, routes, helper, Javascript file, CSS file,
view files, database migration, and RSpec files for users. The current
user pages are edit, index, new, and show.

All tests are passing.
Add belated RSpec tests for user model.

Adds tests for the user model's response to email and name attributes.
These attributes have already been added by the migration generated in
the last commit, and so the tests pass.

All tests are passing.
Add RSpec tests for user's name and email.

Adds tests to determine if a user's name and email fulfill their
respective requirements. The name must:

  - Be present;
  - be less than 32 characters;
  - consist of at least one alphanumeric character, spaces, underscores,
    periods, and/or dashes;
  - be unique, even with regard to case and when stripped of spaces,
    underscores, periods, and/or dashes; and,
  - not have spaces at the beginning or end.

The email must:

  - Be present;
  - be unique;
  - be case-insensitive;
  - follow the proper email format; and,
  - be saved in all lower-case.

Tests are failing.
Add and fix RSpec validation tests.

Adds overlooked validation tests and fixes several previous ones, as in
some cases they were not fully testing the correct requirements.

Tests are failing.
Add validations and filters to regulate user's name and email.

Adds validations and filters to the user model that will enforce all
of the requirements laid out in a previous commit. The uniqueness of
the user's name was ensured by adding a database column called
simple_name and requiring its uniqueness.

All tests are passing.
Refactor code so code style is consistent and more concise.

Makes the code clearer, more consistent, and/or less verbose. Makes no
functional changes.

All tests are passing.