refactor yql into its own file
add pure csv backend

Doesn't provide the hoped-for speed and reliability improvement, it seems to
actually be far LESS reliable and in some cases really really slow.
Strange...