When loading the map file for a DOL/ELF file, extract only the filename from the DOL/ELF'S path
JIT: a small optimization for subfex and friends
Moved the linking of the FIFO CPWritePointer near where CPWritePointer gets updated.  The CPWritePointer was getting updated while it was in-flight causing Pac-man Party to flicker.  Fixes issue 5223.
JIT: merge lbz + extsb

PPC has no 8-bit sign-extended load, so this instruction pair is very common.
x86 can do it in one op (movsx), so merge them when possible.
JIT: enable block linking and idle skipping in debug mode

They can still be turned off, just don't force them off.
Also remove some dated comments.
JIT: fix carry merging across breakpoints

More precisely, don't do it.
JIT+Emitter: support locking flags

This helps us avoid accidentally clobbering flags between two instructions
when the flags are expected to be maintained. Dolphin will of course crash
immediately, but at least it will crash loudly and alert us of the mistake,
instead of forcing hours of bisecting to find the subtle way in which the JIT
has managed to sneak a flag-modifying instruction where there shouldn't be one.
Debug: fix display of instructions in virtual memory in MMU games
CoreParameter: Use unique_ptr in place of raw pointers
CoreParameter: Kill off an snprintf usage
DSPJitRegCache: Use std::array to represent the register arrays
Jit_Integer: Get rid of some cast noise in boolX
Replaced generalized instances of GCM with ISO

Renamed various commands to refer to ISO instead of GCM for consistency,
as the commands are used for both Wii and GameCube files.

CompressGCM --> CompressISO
DeleteGCM --> DeleteISO
MultiCompressGCM --> MultiCompressISO
MultiDecompressGCM --> MultiDecompressISO
SetDefaultGCM --> SetDefaultISO

Fixed COMPRESSISO

Fixed missing "COMPRESSISO"

Fixed more COMPRESSISO

Final fix for COMPRESSISO
GekkoDisassembler: show W and I in psq_l/psq_st disassembly
Some changes to VertexLoaderManager:

- Lazily create the native vertex format (which involves GL calls) from
RunVertices rather than RefreshLoader itself, freeing the latter to be
run from the CPU thread (hopefully).

- In order to avoid useless allocations while doing so, store the native
format inside the VertexLoader rather than using a cache entry.

- Wrap the s_vertex_loader_map in a lock, for similar reasons.
Fix threading issue with vertex loader JIT.

VertexLoader::VertexLoader was setting loop_counter, a *static*
variable, to 0.  This was nonsensical, but harmless until I started to
run it on a separate thread, where it had a chance of interfering with a
running vertex translator.

Switch to just using a register for the loop counter.
Switch to an unordered_map as a micro-optimization.
Mechanical changes to move most CP state to a struct rather than separate globals.

The next commit will add a separate copy of the struct and the ability
for LoadCPReg to work on it.
Changes to allow LoadCPReg to work in a preprocess mode which affects a separate state.

This state will be used to calculate sizes for skipping over commands on
a separate thread.  An alternative to having these state variables would
be to have the preprocessor stash "state as we go" somewhere, but I
think that would be much uglier.

GetVertexSize now takes an extra argument to determine which state to
use, as does FifoCommandRunnable, which calls it.  While I'm modifying
FifoCommandRunnable, I also change it to take a buffer and size as
parameters rather than using g_pVideoData, which will also be necessary
later.  I also get rid of an unused overload.
Rejigger some FIFO buffer variables to be more rational.

videoBuffer -> s_video_buffer
size -> s_video_buffer_write_ptr
g_pVideoData -> g_video_buffer_read_ptr (impl moved to Fifo.cpp)

This eradicates the wonderful use of 'size' as a global name, and makes
it clear that s_video_buffer_write_ptr and g_video_buffer_read_ptr are
the two ends of the FIFO buffer s_video_buffer.

Oh, and remove a useless namespace {}.