ARFF import/export, CSV export, lossless serialisation

Adds support for serialising/deserialising instances to a compressed format and to and from ARFF.

* Only numeric and categorical ARFF attributes are currently supported.
* Only the dense version of the ARFF format is supported.
* Compressed format is .tar.gz file which should allow extensibility.
    * Attributes stored using JSON representations.
* Also offers smarter estimation of the precision of numeric Attributes.
* Also adds support for writing instances to CSV