IniFile: Remove support for comments anywhere but the beginning of lines

The MS INI parser and most other INI parsing libraries APIs only support
comments at the beginning of lines. Right now, some Game INI files use sections
like:

  [OnFrame]#Add memory patches here

But these section headers are parsed separately, so this should not break
them.
IniFile: Don't parse comments after the [Section] brackets

This is non-standard behavior. We won't fail to parse, but we now
won't write them back out either.
GameConfig: Remove unused [HLEaudio] section
Normalize all Game INI files

Add a simple Python script that does a basic normalization on
the game INI files and run it across all the files we have. This
normalizes the sections, their order and comments, and the whitespace
within them.

It also removes the sections Video_Hardware, Gecko, and Wii, which
should not be in the game INI files we ship by default.
Move the new CleanFiles Python script to Tools/

So it won't be shipped to users. Also, fix it up so that it finds
the ini files regardless of where it is.
CleanFiles: Remove use of chardet

Now that everything is utf8, guessing the character encoding might
go haywire, like with the "Pokemon" games. Just assume UTF8 from
here on out.
Sync gameini ratings from the wiki. Fixes issue 6477.
Check for GC BIOS in userdir before sysdir
Main: Create BIOS subdirs of GC userdir on load

So that users don't get confused about where to place the BIOS files
[ARM] Add a few instructions.
PixelShaderGen: Do not write depth in pixel shader if depth testing (and thus writing) is not enabled. Should improve performance quite a bit in some cases.

Fixes issue 6474.
[Android] Fix OpenGL ES 3 detection on Nexus 10. Nexus 10 defaults to GLES1 context when not specified while Adreno defaults to GLES2. Thanks to Jeremy D Miller for noticing and finding out why this was failing.
Main: Fix code that creates the BIOS subdirectories

We need to ensure that the file path ends with DIR_SEP, as
File::CreateFullPath is a very naive function.
VertexShaderGen: Optimize shader uid data order.
PixelShaderGen: Optimize shader uid data order.
ShaderGen: Static inline everything.
LightingShaderGen: Use macro magic instead of snprintf. Should fix performance problems.
ShaderGen: Optimize out most function calls for uid generation.
Software Renderer: Show each backend's display name instead of its short name in the config dialog.
[Android] Remove unnecessary explicit indexing of entries in a List within AboutFragment.java

Indexes are handled internally within a List object.