Added a marshal constructor that takes a DataUnpacker
Added a blob class
Added an implicit conversion for byte[] to Blob
Added a constructor that accepts a blob
Removed custom pack and unpack delegates

Use extension methods instead.
Added a marshal constructor that takes a DataUnpacker
Added a marshal constructor that takes a DataUnpacker
Added a constructor that takes a DataUnpacker
Added a constructor that takes a DataUnpacker
Don't rely on du length

Use an integer in the marshaled data to specify the number of
attributes.
Added a constructor that uses DataUnpacker
Added a constructor that takes a DataUnpacker
Added a method for comparing subsections of arrays
Added another hex string method

This new one takes an offset and byte count.
Blobs now accept offset and count restrictions

This means byte arrays can have restrictions on the bytes accessed in
them.