Voxel Persistence in server, voxel-edit tool for creating voxel files, new VoxelTree features

new features in voxel-sever
- by default, it now loads the voxel tree from a local persisted file
- by default it now saves changes to the voxel tree into the persistent file when the tree is dirty (so if you remotely edit the voxels with a tool or painter mode)
- by default, if there is no file, it adds the scene, but then it will create that file and only reload it next time you run.
- you can disable this persistance

new target "voxel-edit"
- this is an example command line tool that shows how to use VoxelTree's primitives and demonstrates how to create a voxel file
- it doesn't really take input, it just creates the scene and then calls the writeToFileV2() method to save the scene as a file

new features added to VoxelTree
- void writeToFileV2(const char* filename) const;
- void readFromFileV2(const char* filename, bool reset);
- void deleteVoxelAt(float x, float y, float z, float s);
- VoxelNode* getVoxelAt(float x, float y, float z, float s) const;
- void createVoxel(float x, float y, float z, float s, unsigned char red, unsigned char green, unsigned char blue);