Refactor json_store recorder to have different levels of recording

Instead of recording everything, the record now has levels to omit
certain data. This helps keep the data collected low.