Revised Json Persistence

An alternative to the current StringBuilder technique used to create the Json data file. The first commit contains the basic approach and the second avoids storing the entire JSON file to memory before writing to disk by passing a FileStream backed JsonTextWriter to the serializer.