Raw Recorder

This adds a subclass of recorder that does not inject the SimId and gives you raw table writing. This is needed for the more general case of writing to the database, and in particular for cymetric or any other analysis tool. In such situations SimIds are not necessarily semantically meaningful. For example, aggregation over many simulations will make any SimId field meaningless. Since folks may want to store any kind of data a raw recorder is needed. A subclass API turned out to be cleaner than adding new member functions.

This is dependent on #1061, which should be merged in first.