Create tools.md
Create 2mgfx.md
Update tools.md
Create mgcb.md
Update mgcb.md
Added tool docs.
Update 2mgfx.md
Update 2mgfx.md
Update 2mgfx.md
Added PS4 note.
Merge pull request #2564 from SickheadGames/doc2

2MGFX and MGCB Docs
Renamed ShaderInfo.fileName to FilePath.
Renamed ShaderInfo.fileContent to FileContent.
Added ShaderInfo.OutputFilePath.
Added ShaderInfo.AdditionalOutputFiles for registering any additional files that need to be cleaned on content rebuilding.
Make IsValueType actually return IsValueType, not the opposite
Typo
Rename IsAbstractClass ->IsConcreteClass, since that is what it actually does
Split GetPropertyMethod into GetMethod/SetMethod rather than having a string parameter
Merge pull request #2567 from SickheadGames/mgfxout

MGFX Improvements
Change HasPublicProperties to PropertyIsPublic and change the behaviour slightly. Previously it would return true if get/set didn't exist.

Make use of it in ReflectiveReader, this changes the behaviour of it, but I think it was wrong before (You can't really serialize something unless it has a get and a set and they are both public)
Tidy up, comments and add IsAssignableFromType