into: test foo <- CSV

I agree that `.extend` is more explicit and just as simple as `into`.  In general I prefer using it directly.  However I also think that there is value to having a small number of abstractions.  I think that there is significant value to having `into` "just work" on everything, rather than asking users to understand two data migration abstractions.

That being said this difference between adding onto and replacing existing data is a conceptual wart.  Perhaps a general `drop` command could clean this sort of thing up.

Also a consideration, we do sometimes care about putting many different data sources into a single one.  E.g. we might want to shove many CSV files into a SQL table.  Some support for this somehow would be welcome.