Added a "for_testing" column to distinguish special Learners that can go
through a flow without timers, and conditioned getting past the Welcome
page on this flag.
Added a "Test Drive" button next to Condition which only appears if the
Condition allows a minimum group size of 1.  When pressed, it creates a
singleton task for that condition by picking one of these "canned" test
learners and a "canned" condition (both guaranteed to be present if the
database was seeded) and starting the task.  The TaskController now has
a before-filter that sets the instance variable @test_user if this flow
belongs to a test-learner; views should use this to condition the
availability of controls that skip over timers, etc.
Modified db/seeds.rb to create test learners that are always guaranteed
to be present.
At the moment it doesn't yet support test-driving with multiple users,
but that can be added next.
Simplified much cruft out of conditions_controller and conditions index
view.
Fixed tests as needed and created new tests for the above functionality.
Finally: all data in seeds.rb is now *automatically* populated into the
test database when db:test:prepare is run (or when any rake task is run
that invokes db:test:prepare as a dependency, such as rake spec or rake
cucumber).  This is so that the default initial database seen by tests
is the same as that seen in dev/production, and so that tests can also
rely on finding canned test learners, canned activity schemas, etc.
Essentially, tests can now assume that seeds.rb has been loaded before
tests run.