Clarifying the OpenAL loop

because it isn't as clear as it can be
Build fix
Equalising the 32 and 64 bit state compression

because that allow loading both
Set the locale per-thread instead of globally when generating shaders. Add cross-compatible versions of newlocale, uselocale and freelocale.

This commit fixes a rare race condition when generating shaders because setlocale is global.
Build fix: Android NDK doesn't support any locale switching.

Also, Mac OS X doesn't support DX9.
Adding Travis CI script

because a build test is useful
Revert "Adding Travis CI script"

This reverts commit 37630211361ce8ea2b1d0534d2bfa0dd10567d0a.

Reason: No.
Handle 1 partition only, fixes Issue #6353
First steps of making the pixel shader uid struct more compact.
Fix stuff
PixelShaderGen: Move RegisterStates from global storage to stack.
PixelShaderGen: Change a comment slightly.
Merge 'master' into shader-uids-awesome.

Conflicts:
	Source/Core/VideoCommon/Src/LightingShaderGen.cpp
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Core/VideoCommon/Src/PixelShaderGen.h
	Source/Core/VideoCommon/Src/VertexShaderGen.cpp
Fix some merge conflicts.
Fixes Issue 6353 Remove extract apploader/dol from top level
PixelShaderGen: Fix various merge conflicts and a critical regression from revision 32b78a85.
PixelShaderGen: Fixed some bugs, removed unused shader uid fields.
PixelShaderGen: Fix more critical issues, some of which are regressions of revision 32b78a85.
PixelShaderGen: Add some TODOs.

Totally the perfect commit message for a final commit before merging :p
Merge branch 'shader-uids-awesome'.

Replaces the old, hardcoded shader ID generator with a semi-automatic mechanism that generates IDs from hints in the code generator.

Also introduces a flexible framework to do all kinds of funky stuff with the shader code generation logic. As an example, a uniform usage profile generation class is added (unused for now, though).

Functionality can still be tested by setting the EnableShaderDebugging field in the gfx config to True. Any two shaders which are identified with the same ID will be written to a file and an error message will be written to the Dolphin log.