Implemented asset manager along with text (language) assets.

Summary:
This adds support in the asset management system to a point where the game can use and load text assets, where the asset manager can also transfer and update the assets in real-time in the game.

Text assets are basically language items, where the you'll have an asset named `language.GENERATE_WORLD`.  When the game is running without the asset manager, it will use the local asset manager which loads such an asset from `Content/language/GENERATE_WORLD.asset`.  These are JSON files that contain information about the asset.

When the asset manager is connected, the game instead opts to use the `NetworkAssetManager` which is a distributed class shared between the asset manager and the game.  In this case, assets are tracked whether they are dirty or not; if they are then the game transparently requests a new copy of the data from the asset manager, without any additional code required in the game (this is achieved through the use of transparent proxies).

Currently you can click on the asset manager to mark assets as dirty.  The asset manager doesn't use anything other than the default raw asset loader yet (there are asset loaders for turning the loaded JSON into objects and a raw asset loader which actually locates / provides the JSON).  This does however use IoC, so in future the asset manager will be able to load assets from it's own memory and have them display in the game, before the results of those changes are permanently saved back to disk.

This revision also includes the addition of a new linter that checks to ensure that C# files have the Tychaia license at the top of them, since a few new files have been lacking the license recently.

Test Plan:
**Make sure you update your submodules after applying the patch.** Build and run `Tychaia.exe` as normal.  It should be loading the text for the buttons from the `Content/language` folder underneath the same folder `Tychaia.exe` is located in (e.g. `Tychaia/bin/Debug/Content/language`).  If you change one of these files and then start the game, the new text should display.  Note that changing the files when the game is running does nothing; they are only ever loaded once in local mode.

Open a command prompt and run `Tychaia.exe --asset-manager` from the directory that Tychaia is loaded in.  Now you should be able to change the contents of the asset files and click (anywhere) on the asset manager window.  The new versions of the assets will be loaded into the game while it's still running, and your changes should appear.  Closing either the game or the asset manager should result in both of them closing (i.e. neither should still be running on it's own).

Reviewers: Sabre070

Reviewed By: Sabre070

Maniphest Tasks: T51

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