Reorganize faulting stuff.  Differentiate between arch- and OS-specific defines.

- Get rid of ArmMemTools.cpp and rename x64MemTools.cpp to MemTools.cpp.
  ArmMemTools was almost identical to the POSIX part of x64MemTools, and
  the two differences, (a) lack of sigaltstack, which I added to the
  latter recently, and (b) use of r10 to determine the fault address
  instead of info->si_addr (meaning it only works for specifically
  formatted JIT code), I don't think are necessary.  (Plus Android, see
  below.)

- Rename Core/PowerPC/JitCommon/JitBackpatch.h to Core/MachineContext.h.
  It doesn't contain anything JIT-specific anymore, and e.g. locking
  will want to use faulting support regardless of whether any JIT is in
  use.

- Get rid of different definitions of SContext for different
  architectures under __linux__, since this is POSIX.  The exception is
  of course Android being shitty; I moved the workaround definition from
  ArmMemTools.cpp to here.

- Get rid of #ifdefs around EMM::InstallExceptionHandler and just
  provide an empty implementation for unsupported systems (i.e.
  _M_GENERIC really).  Added const bool g_exception_handlers_supported
  for future use; currently exception handlers are only used by the JIT,
  whose use implies non-M_GENERIC, but locking will change that.

- Remove an unnecessary typedef.
ISOFile: Get rid of a delete call
WatchView: Pass string by reference in SetWatchName
Reimplements fastmem for ARMv7 floating point loadstores.

This implements a new system for fastmem backpatching on ARMv7 that is less of a mindfsck to deal with.
This also implements stfs under the default loadstore path as well, not sure why it was by itself in the first place.

I'll be moving the rest of the loadstore methods over to this new way in a few days.
Merge pull request #1551 from Sonicadvance1/armv7-float-fastmem

Reimplements fastmem for ARMv7 floating point loadstores.
Merge pull request #1555 from lioncash/ref

WatchView: Pass string by reference in SetWatchName
Core: Join some variable declarations and assignments
Merge pull request #1554 from lioncash/unique

ISOFile: Get rid of a delete call
Merge pull request #1557 from lioncash/join

Core: Join some variable declarations and assignments
Merge pull request #1558 from comex/command-thread-mismatch

Fix wxCommandEvent/wxThreadEvent subclass mismatch
Merge pull request #1449 from comex/memtools-merge

Reorganize faulting stuff.  Differentiate between arch- and OS-specific defines.
Rewrite FileSearch and improve ScanDirectoryTree.

- FileSearch is now just one function, and it converts the original glob
  into a regex on all platforms rather than relying on native Windows
  pattern matching on there and a complete hack elsewhere.  It now
  supports recursion out of the box rather than manually expanding
  into a full list of directories in multiple call sites.

- ScanDirectoryTree returns the parent entry rather than filling parts
  of it in via reference.  The count is now stored in the entry like it
  was for subdirectories.

- .glsl file search is now done with DoFileSearch.

- IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the
  results after replacements for better determinism.
Fix CopyDir to not require source and dest paths to end with "/".
Disable some stuff in IPC_HLE when determinism is required.

This includes net, which is nonsensical to "sync" in netplay/replays
(could have the host do the Wii networking in future though...), and USB
keyboard, which just needs some love to do the same.
Disable /dev/usb/hid too.
Add a mode to use a dummy Wii NAND.

Eventually, netplay will be able to use the host's NAND, but this could
still be useful in some cases; for TAS it definitely makes sense to have
a way to avoid using any preexisting NAND.
Move NandPaths to Core to avoid layering violation introduced by previous commit (its paths depend on Core::g_want_determinism).

Not that there seems to be much layering to speak of, but if anything,
Common should be stuff that's not necessarily Dolphin specific and could
be used elsewhere.  NandPaths is not in that category, and it's only
used from Core.