Can't stop tinkering
Made a bunch of changes to the project because I can't stop tinkering:
- Split the utility project out of the core project.
- Added JsonIterator to iterate JSON files.
- Added more tests for utilities.
- Bunch of other small changes to the code.