JSON importer/exporter and unit tests

I have a whole lot of stuff to commit to CalChart, but it would be really hard to review if I committed it all at once, so I'm splitting it into pieces.
Here's the first piece: it's a JSON importer/exporter, along with some unit tests. This is required for the following features:
- Beats File Exporter
- CalChart Online Viewer Exporter
To get the unit tests to work, the unit_tests directory should be copied into the executable directory. When the unit_tests directory is not there, the json unit tests are ignored.

How the unit tests work:
CalChart goes through every file in the "in" directory, imports the json file, and then exports it, saving the file to the "out" directory under its original name. The generated file is checked against its corresponding expected output file, given in the "std" directory