Require user email to match pattern

This provides a test and code to ensure that email addresses are more
like an address than simple text.  It is not robust, but makes them
more like an email address than previously.

Conflicts:
	app/models/user.rb
Fix user duplication tests.

The original tests could be passed if a uniqueness constraint was put
on the email address attribute instead of the name attribute.  These
modifications prevent that from being possible in the future.
Require 50 character names to be valid

If we don't add this test into the repository, then the maximum length
can be anything at all.  This simple test ensures 50 character user
names are acceptable, but 51 character user names are not.
Tests for displaying churches

These are simple tests to ensure that the full church list and
individual church listing exist and print minimal information out.
Only allow church managers to edit church profiles

This tests that only church managers are allowed to be able to access
the profiles of the various church profile pages that relate to
edits/updates.  We don't support creating them, yet.  So this is an
initial security step once they are created to ensure they're not
modified by others.
Merge commit 'a9866ee8cc3e4c403c1516abd7bdb290ddebeb1e'

Conflicts:
	app/models/user.rb
Refactor error messages to be shared

This will be used by other views to display their error messages, so
make it general enough to accomplish the task.
Make Service nested inside Church.

We make routes and forms to include Service as part of a Church
typically.

Conflicts:
	app/controllers/churches_controller.rb
	app/models/church.rb
	app/models/service.rb
	config/routes.rb
Fix tests that broke with previous two commits

The previous two commits broke:

    1.  the routes for services because we changed them from
	"normal" to nested shallowly in church, and
    2.  the refactored shared error messages weren't propagated to the
	edit action for the user.

This fixes those problems so they work again.

Conflicts:
	app/views/users/edit.html.erb
Place more requirements on Church & Service

This makes sure that more attributes for the two models are required
so that we can't create values that are useless.
Test creation of Church with nested Service

These tests check that we can create a church with one nested service
as part of the form.
Require new church to have proper manager

This test makes sure that when a church is created that it is assigned
a manager by using the currently logged in user as that manager.
Complete Church test (1st draft)

This should be close to a complete set of tests for the Church
resource.  It tests that we can do any of the CRUD operations on the
resource and that it is robust to various permissions.  The only
things we probably haven't checked is who can delete a church and
whether services are deleted when an associated church is.  All the
same, this is close to complete.

Conflicts:
	spec/factories.rb
Refactor churches tests

This calls create_list instead of looping to create the services for
the church tests.  It should be faster and better communicate what is
going on with the tests.
Test that Church displays all attendees.

This checks that a church lists all the people that are marked as
attendees of the church on its profile page.

BIG NOTE:  This commit includes some fundamental changes to the church
and user models so that Rails will be able to understand the
relationships between the two models since there are two relationships
there: church/attendee and church/manager.  We need to disambiguate
them because they both use church (singular) to connect from the user
for both relationships.
List rides available for each service

This tests that all the rides are available from each service page.

Conflicts:
	spec/factories.rb
Fix tests to actually look for content

Missing should made previous tests useless.  This fixes them up by
adding the missing should and also adding one more test that should
have been in there all along.
Tests updated for nested ride inside service

We need to nest the ride inside a service, so the existing tests that
used ride routes need to be updated to reflect this situation.
Tighter requirements on rides

We now expect that the attributes on the ride are all required so that
the ride can properly be specified by the user providing it.
Provide a ride via the service interface

This tests that a user can provide a ride while looking at a
particular service.  The idea is that when the user finds the service
that the user attends, then the user can directly provide a ride from
that page.