Converted base 'Collector' into a Role + misc

Instead of a base Collector class, there is now a Collector Role
(DBIx::Class::AuditAny::Role::Collector) and now a separate 'Code'
Collector class used as the default class supporting the simple
'collect_coderef' API.

Also, misc minor tweaks and code cleanups... preparing for refactoring
of the way datapoints are collected and stored...
Began refactoring tests using Test::Routine

So far only the first test (001) has been converted
Converted two more tests to Test::Routine
Additional code comments + new 'stage' attribute (DataPoint)

Added descriptive comments to the DataPoint class + mist declarative
tweaks (now using Enum type for 'context'). Also added new attr 'stage'
which is either "pre" or "post". This is not being used anyplace yet...
In progress work on pre/post datapoints...
Reconsidered adding 'stage' to Datapoint - added more comments

Not going to make stage 'pre'/'post' a structural part of DataPoints
after all in favor of keeping DataPoints as simple organizational sugar.
Added more comments explaining this rationale. Pre/Post logic *still*
happens, but it is just restricted to Context objects, and if custom
Pre-change logic is needed it will just have to be implemented as custom
Context object(s).

Removed the unused 'stage' attr from the DataPoint class that had been
added in the previous commit
Consolidated finish/mark_finished methods (ChangeSet) + more comments
Consolidated executed/recorded (Change) + more code cleanup
'condition' hash now captured in ChangeContext

The condition associated with a given change (update or delete) is now
captured into the Change Context object along with 'old_columns',
'to_columns' and 'new_columns'. Note that there is no built-in datapoint
that accesses this data (yet). It is an attribute of the Change Context
Converted more tests to Test::Routine

All tests through the first 6 are now based on Test::Routine roles. This
achieves significant de-duplication
Added Schema 'Sakila' (example db) for new test routines

Started new test routine based on the "Sakila" example database provided
by MySQL. Imported DBIC Schema/Result and started (shell) routine...
This test schema will be used for next test units for more complex
tracking, such as multi-pk, rekey, and cascades, and will be the first
tests written using Test::Routine roles from the start. In progress...
Enhanced opts for Base and AutoDBIC Test Routines (dsn + misc)
In progress FK CASCADE support + test data in Sakila tests
Commented out in-progress cascade handling code