Fixed some issues with the recorders that were causing exceptions in our tutorials

This was prompted by problems that Herb found with our Case Recorder and Metamodel tutorials, particularly when setting the printvars to the wildcard *.

1. Added support for boolean variables in the csv writer/reader. Python's csv writer doesn't seem to be properly putting booleans in quotes in the output file, so now we convert them to strings before writing them.
2. It turns out that List and DIct pass around special trait objects that contain a reference to the parent component. This can sometimes cause problems when pickling them for DB insertion, so now we properly cast them as list and dict before pickling.
3. Removed the iotype from the Differentiator slot, because otherwise it ends up in the list of variables that the csv writer tries to output.