Update the README with basic instructions.
Locally install a boatload of useful testing modules.

Then students don't have to configure a CPAN client.

Unfortunately Test::HTML::Content, Devel::Cover and Test::BDD::Cucumber
all have XS dependencies.
Add a .gitignore.

Also ignore any architecture specific Perl install stuff.
Add parent.pm to the cpan libs.
Add a patched version of Test::Time 0.04.

Makes it behave locally and adds gm/localtime.

I'll push it upstream.
Add Mouse
Add a simple Hello library to demonstrate testing.
Add a crappy date/time CGI program to test against.
Make the clock.cgi page a little more... interesting.
A basic compile test.
First try at testing using ok().

Fails.  Illustrates the need for diagnostics.
Rewrite using is().

Fails.  Shows diagnostic output.
Yay, now it works
Make hello() take arguments.

Test fails, protecting us from breaking backwards compat.  "Regression testing"
Unit tests become regression tests.

Hey, no warning!  We forgot to turn on strict & warnings.
Add Test::FailWarnings to turn uncaught warnings into failures.

Warnings (and anything to STDERR) are normally ignored by the test.

Warnings should either be expected (covered later) or turned into failures.
* One broken window rule
* Fills logs
* Hard to see when a "real" warning happens in the fog of "expected" warnings
* New devs need to be taught which warnings are "real" and which are "expected"
Add in some defaults to restore old behavior.

Fail!  We got the casing wrong.

Regression tests mean you get small details right.  Small details which you might
have forgotten about, or never knew.
And finally passing.
Test we can pass in arguments.

Pass.  Indent the function calls so they line up.
Add a Makefile for test and test coverage
Test that selections of defaults work.

Pass.  Trying each code path.
Good time to show off Devel::Cover.