added variable-length array tests
variable-length fields are initialized with a width of None
refactored _TabularWriter hierarchy
replaced _util.make_field with Field class
added ArrayType.width attribute
_TabularWriter dynamically updates array field positions and widths
code clean-up and additions for tutorial.md