Huge refactoring

Do not create huge strings
Let SimpleTypedList inherit from Array
Let Row inherit from SimpleTypedList
Optimized sanitizing
Optimized validation
And more..

The parentheses around the << calls are because of the following bug in ruby-zip: [using chained #<< will create a damaged zip file](https://github.com/rubyzip/rubyzip/issues/135). They can be removed after ruby-zip is fixed.