Add dsp rom hashes to movie header.

Also fix a random typo.
DSound: use DSound notifications to produce sound.

Pretty straightforward; IDirectSoundNotify lets you register for
notifications after a certain amount of sound has played, so use that
instead of depending on Update() notifications from the CPU thread.

Also, while I'm here, reduce the buffer size by a factor of 4; this seems
to reduce the latency, although the difference is sort of subtle.
[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
Jit64: implement tw/twi more accurately

Fixes issue 7253.
Move the #pragma once header guard before the includes in Statistics.h in VideoCommon.
Disable SDL input on Windows.
Remove SDL from Externals.
JIT: unify JitAsm for JIT64 and JIT64IL.

Having a bunch of nearly identical code sitting around isn't a good idea,
so fix that. JITIL had a couple of extra entry points into the JIT main
loop, so adjust the code appropriately.

Also fixes Issue 7186.
Adds support for the PP shaders in the Android UI.

Copies over the PP shaders to the APK's assets and installs them on run.
Exposes them via the video settings UI.

This is in anticipation of dropping the workaround for rotated blits on Adreno and instead forcing shader usage by the user.
Fixes our post processing shaders so they work under OpenGL ES 3.0

Most of our shaders relied on implicit int->float conversions.
This fixes the assumption that this is allowed
DVD emulation: make seek timing more accurate.

Based on real measurements of a Gamecube disk on a Wii.  (If anyone else
is interested in running more tests, I can upload my code; it's a mess at
the moment.)

This isn't a complete model, but it's a step in the right direction:
in Metroid Prime, the loading times are sane, and I think I managed to do it
without breaking anything.
DVDInterface: tweak buffered reads to be a bit faster.

A read finishes when the result is complete in the drive's buffer, not
main memory.
Change Android's default EFB configuration to texture instead of disabled.
Add a std::make_unique implementation

Some compilers we care about (mostly g++) do not support std::make_unique yet,
but we still want to use it in our codebase to make unique_ptr code more
readable. This commit introduces an implementation derivated from the libc++
code in the Dolphin codebase so we can use it right now everywhere.

Adapted from delroth's pull request.
Use std::make_unique where it makes sense to

(and improve some other unique_ptr initializations).

Adapted from delroth's pull request.
Apparently the debug build has not been freeing memory since 2008. Undo that.
DVDInterface: code cleanup.
Opcode decoding: 0xC0 isn't a valid command.

Fix our opcode decoders to handle this appropriately.
Fixes games that use the MMU to page in code(Rogue Leader).

The issue was that on memory exception we wouldn't call in to PPCAnalyst and our code_block would retain the previous blocks information.
This would cause us to compile the previous blocks instructions in prior to the exception exit.