Separated a data structure from builder

This new data structure should allow cassava to easily be expanded to
other types of table structures in the future like fixed width tables and
maybe even json and html.

@metin @madebysquares can one of you guys look this over? Thanks :dromedary_camel: