Implemented chunk pregeneration.

Summary:
  - 'arc unit' updated to resync instead of generate projects.
  - Build/Main.proj removed.
  - Tychaia.Disk.* projects all moved into the main Tychaia project.
  - Protogame and Substrate updated.
  - Procedural generation performance analysis updated for new chunk size.
  - Implementation of SimpleLevel that uses BinaryReader/Writer.
  - Move profiler registration into seperate Ioc module for test purposes.
  - Addition of Tychaia.Tests project.
  - Implemented FlowBundle serialization / deserialization.
  - Fixed compile issues with release build.
  - Implemented faster serialization / deserialization with protobuf-net.
  - Added missing files to definitions and added startup test for large generation
  - Started work on generation planner.
  - Implemented wastage calculation for generation planner.
  - Finished world pregeneration.
  - Moved Tychaia.Content back into the main repository.
  - Update language asset.

Test Plan:
Run the game and start the "Pregeneration Test".  It should show progress going up to 100% and afterwards there should be files in %appdata%/.tychaia/saves/test.  If you start the game by clicking "Generate World", the chunks should be quick to load and not require generation (they might need to calculate the vertexes and indices, but you won't see the normal performance penalty associated with generating chunks).

You'll notice that any chunks outside a 3x3x3 radius won't be generated properly and might just have a single set of vertical blocks.  This is because it generates within a 3x3x3 radius it generates chunks and within a 10x10x1 radius it generates a 2D map, which is currently not stored seperate to the actual chunk data (but will be in future versions).

Reviewers: Sabre070

Maniphest Tasks: T98

Differential Revision: http://code.redpointsoftware.com.au/D63