Fixes To MGFX Errors and Warnings

This PR is the start of some cleanup to how MGFX compiling reports errors and warnings.  Currently normal warnings or errors look like this:

![bad](https://cloud.githubusercontent.com/assets/103522/3588676/0ce3cd64-0c46-11e4-826e-4e6f8bda4cc4.PNG)

That is a horrible mess...  it makes people give up on getting things working.  After this PR the errors and warnings are very clear and pleasing to read:

![good](https://cloud.githubusercontent.com/assets/103522/3588699/4db7ac20-0c46-11e4-8df3-de8d369319c1.PNG)

The fixes...

 - We no longer show exception data for a regular shader compiling error.
 - We report all warnings, even when the shader successfully compiles.
 - Better formatting of `InvalidContentException`s overall.
 - Some internal refactors to make the effect compiling more clear.

This work is not complete I plan on a few more things in future PRs:

 - Cleanup the double slashes "\\" in the file paths.
 - Omit duplicate warnings when compiling multiple techniques/passes.
 - Cleanup error and warning logging from technique/pass parsing.
 - Track actual error and warning counts for MGCB results.