[WIP] - Playing with data descriptors

I'm just playing around here.  Various efficiency fixes to CSV_DDesc.  I also implement an `extend` method (append many) what we can rename later. 

This PR should not be merged as I currently do two dirty things

1.  `import toolz` - a library that I like and will use in development, I'll remove this before merger and write things more explicitl
2.  I use `def test_foo()` style tests instead of `unittests`