Add dsp rom hashes to movie header.

Also fix a random typo.
[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.
Fix LTO with GCC 4.9

For LTO to work, GCC 4.9 requires using the wrappers gcc-ar and gcc-ranlibs:
http://gcc.gnu.org/gcc-4.9/changes.html

CMake doesn't account for this yet:
http://public.kitware.com/pipermail/cmake-developers/2014-January/009344.html
PPCAnalyst now detects internal branches better

For example:

```
addr     opcode    disasm
80026584 48000054  b	->0x800265D8 
```
Check for errors when reading lines from ini files.

Fixes issue 7283.
Flash netplay window when someone joins if the window doesn't have focus.
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.
Fix a couple race conditions.

Checks if another game is already starting to boot before starting to boot a new one, and only change video backend, and dual core if a game is actually not running.
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.
JIT: get rid of useless code in JitCache.cpp.
JitCache: use a custom bit-set class.

Unfortunately, this appears to be necessary for the sake of performance;
the standard library equivalents don't work well enough on Visual Studio
2013. vector<bool>::insert() is way too slow in debug
builds to be usable, and std::bitset generates inefficient code in release
builds.
Fix a struct overflow case in WII_IPC_HLE_Device_hid.cpp

WiiHIDDeviceDescriptor is 20 bytes in size (2 of which are padding bytes)
libusb_device_descriptor on the other hand is 18 bytes (does not have the
2 padding bytes).

So we were pulling 20 bytes out of an 18 byte struct, which isn't really
correct.
Merge pull request #407 from lioncash/hid-overflow

Fix a struct overflow case in WII_IPC_HLE_Device_hid.cpp
Use a bool instead of an int to represent the initialized state in IOWin.cpp
Explicitly center the X and Y joystick values.

More self-explanatory at a glance than a memset.
Merge pull request #408 from lioncash/bool

Use a bool instead of an int to represent the initialized state in IOWin.cpp
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.