Adds several features and a ton of tests


Added features:
-  equality/comparison both between cauterize value of the same type and the values they can be constructed from
-  array types are now enumerable
-  we now generate accessors for composites rather than use method missing
-  added .num_bytes method to instances to determine the size an instance will pack to
-  add .max_bytes method to classes to determine the max size any instance will pack to
-  add .min_bytes method to classes to determine the min size any instance will pack to
-  can now construct arrays from strings (treated as the array resulting from unpack("C*"))
- wrapped support classes in a CauterizeRuby module
- wrapped generated module in it's own module
- lots and lots of tests