basic factory for generating random raw data

This adds a helper module `Factory` that will generate random raw
data values.  Use this to seed test objects with data.  Because
the data is random, it helps prevent false-positive tests due to
hard coded expectations, etc.

This module is optional so it isn't required as part of requiring
in assert proper.