Misc improvements

A bunch of improvements to the CsvProvider I found missing when working with real csv files this weekend. The individual commit messages have more details. Also a couple of bug fixes on WorldBank, JsonProvider and Freebase.

Some points:
* Loading a CSV and immediately saving it with the CsvProvider will not generate an output exactly identical to the input, as the types are converted to the strong types and then serialized back to string. When using the CsvFile the output will be more close to the input (the only thing that might happen is for some unnecessary quotes in the input to be removed)
* CsvProvider continues to cache by default, and you can disable it. It made more sense for the CsvFile to have the opposite default
* Take, Skip, Truncate and Filter are not functions in a module like in Seq and List, but instead are instance methods. I've tried both, but the module approach would be very clumsy in this case, as you would loose type information after applying the operations, and it would force you to always alias the type, not being able to do new CsvProvider<...>()