Lots of progress - subdivided several new classes + misc...

The diff work is now divided into Source and InfoPacket object classes.
Still using Hash::Diff to do diffing, but it may not be sufficient, as
there are several exceptions and cases that need to be handled to
prevent data points from showing up as changed. Will either wrap
Hash::Diff to handle or replace altogether...

Initial development still in progress...