initial clang format config.
UseTab:          ForIndentation
Don't write to EXRAM if it doesn't exist.

Previously, if a gamecube game wrote to an EXRAM address, dolphin would
segfault.
Panic on invalid reads/writes for non-mmu games.

Previously it would fall through to the mmu code path, and raise a dsi
exception, which it would never check for, so it would continue
executing code silently.
D3D: Implemented cache for dynamic render states
D3D: Moved render state cache into separate source files.
Refactored  StateCache::Get() to early out for narrower indentation.
Added comments to clarify ownership of objects returned by  StateCache::Get().
D3D: State cache now uses BitField to define packed render states
D3D: moved render state cache implementation to D3DState.h/cpp
D3D: Fixed uninitialized members of gx_state
Start/Stop Audio Dump During Emulation
Flipped Wave File Channels

This change was done because with the previous method of dumping audio, the mixer would handle switching the RL being emitted by the DSP to LR, and thus would provide the proper channel orientation. Because we're now dumping directly from PushSamples() and PushStreamingSamples(), it was writing the right channel to the left channel of the wave file and vice versa.
If the stack overflow trap region has already been tripped, don't continue to ignore faults there.

In the unlikely case that it tripped and then, due to a bug, some other
fault occurred (e.g. stack misalignment), Dolphin would go into an
infinite loop rather than crashing.
D3D: State cache now reduces number of blend state permutations by collapsing some states that have blending disabled
Get rid of netpad and just send the GCPadStatus in netplay.
Workaround for MSVC not optimizing away Write() in GeneratePixelShader

ShaderConstantProfile and ShaderUid now have an empty implementation
of Write() that uses variadic templates instead of varargs. MSVC is now
able to inline and optimize away this when necessary.
Added __forceinline to AlphaTest::TestResult() to make MSVC inline it
Minor spelling fix
Specified where GC Bios files go
D3D: Removed SetBlendOp, SetSrcBlend and SetDestBlend as they are now trivial
JIT: fix profiler on non-Windows OSs

Still doesn't support timing code (since that's Windows-only), but run counts
will at least work without crashing.