AVIDump: cleanup
AVIDump: update ffmpeg/libav API usage

libav 10 was released on May 10th, 2014 and it drops support for some
long-deprecated stuff like avcodec_encode_video().
CMake: remove unused/duplicate definitions
CMake: mention ffmpeg in libav messages

We support both.
CMake: update min. libav/ffmpeg library versions
AVIDump: rename frame variables
Remove weird buffering from WII_IPC_HLE_Device_sdio_slot0.cpp
Fix patches not being loaded when running real gc bios.
Changed lingering header include guards to pragma once.

Some headers where using #ifndef to guard being including multiple times. But most were using pragma once. So for consistency I changed them all to use pragma once.
[Core] Clean up the DSP disassembler

- Get rid of deletes.
- Clean out all of the sprintf calls. Now std::string based.
- Fully explicit function names, etc.
VideoCommon: normalize lighting direction.

It seems that the lighting direction must be normalized. This fixes lots of lighting issues mostly shown in the d3d backend.
Place pinned memory as top priority
Reorder class initializer lists
Remove unused variables
Merge pull request #556 from Tilka/fix_warnings

Fix warnings
Merge pull request #555 from JMC47/pinned_memory

Place pinned memory as top priority.
Change the comments to be more detailed.
Merge pull request #557 from JMC47/pinned_memory

Change comment on Pinned Memory to be less ambiguous
VideoCommon: Cache native vertex formats

We are used to have a 1:1 mapping of GX vertex formats and the native (OGL + D3D) ones, but there are by far more GX ones.
This new cache maps them directly so that we don't flush on GX vertex format changes as long as the native one doesn't change.

The idea is stolen from galop1n.
Keep device type EXIDEVICE_MEMORYCARDFOLDER for gci folder.

This fixes loading save states when type mismatches.