[Android] Fix a bunch of input bugs.
Looking at the old code for the ButtonManager was a brainfsck. This fixes a ton of bugs I kept uncovering as I was moving along.

Fixes the gamepad configuration file being incorrect.
No longer treats touchscreen in a special way. Ends up as a regular device with a "Touchscreen" device name.
Was incorrectly converting a index from integer to ButtonType. Wouldn't work due to the addition of some unused(in JNI) enumerators in ButtonType.
Fixes an issue where a map had a key as an axis which was causing its binding to be overwritten for every axis that was used twice (eg main stick left and right);
Fixes Triggers not working at all.
Fixes DPad not working at all.
Fixes C-Stick only half working.
Removes touch screen specific nativelibrary types onTouchAxisEvent and onTouchEvent.

Adds a configuration version configuration option. Allows easy configuration overwriting if the options need to be changed during updating.

Supersedes github PR #291.
Check for errors when reading lines from ini files.

Fixes issue 7283.
Limit netplay chat messages to 2000 characters.

There's not really a good reason to be sending messages longer than that, and very long messages can hang dolphin for quite a long time.
BS2 emulation: set up a reasonable BAT during startup.

It doesn't really matter much at the moment given our current terrible MMU
emulation, but it will start mattering once our MMU emulation gets more
accurate.
Gameini updates.

Various changes.
Gameini updates.

Change Nes games efb scaling to 1x. Also fix issue 7314.
Explicitly center the X and Y joystick values.

More self-explanatory at a glance than a memset.
PowerPC: Get rid of the 'cr' field which was obsoleted by the new 'cr_fast'
Interpreter: correctly support HLE functions.

m_EndBlock is always false at the beginning of SingleStepInner in the
normal interpreter loop.
PPCCache: Get rid of FAST_ICACHE define.

There's no reason to keep around the ifdefs.
Memmap: get rid of unused junk.

This should make it a bit more clear what interfaces we're actually
exposing for memory access at the moment.
Use strings instead of arbitrary buffers for video statistics
Jit: Remove unused members from JitState.
Add a Cmake generic build option and remove x86_32 build capabilities.

Adds the ability to build our generic build option without manually enabling it in the cmake file.
If trying to build on a x86_32 host, throw a fatal error but say that a binary can be built as a generic build if one wants.
Attach '.debug' to the end of the app's package name. This allows for installation of both debug and release configs on the same device.
JIT: Simplify redundant if statements for memcheck.
JIT: unify two branches in SafeLoadToReg.

Should behave the same as it did before.
JIT: make backpatch handle sign-extend from 8 bits correctly.

I don't think this is actually possible to trigger at the moment... but
it matches the implementation of SafeLoadToReg.
Fix error message when D3D11 HResults fail.
Prevents showing the wrong function name by putting a space between the function name and "Failed".
Also fixes the capitalization.
Merge pull request #416 from lioncash/video-stats

Clean up string managing in regards to video statistics.