Fix Freelook on Linux and add speed reset.

Should fix issue 7692.
Also fixes issue 7147.

I have no idea if these changes will affect Mac or Windows users, so please test.
Update freelook description.
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.
Fix some double->float conversions.
Disables NEON optimized instructions.
These are causing issues in games. In particular you get pink on the screen in Animal Crossing.
Disable until fully investigated.

This also disables fastmem on floating point loadstore instructions which are horribly broken and won't actually backpatch when an invalid read/write
is encountered.
Enables the ARMv7 FPR cache.

The problem instructions with the FPR are disabled in the previous commit. This can now be reenabled for fairly large performance gains.
Enables ARMv7 build options entirely on ARM.

We only support ARMv7 with Dolphin, so if we are building on ARM have our target be for armv7-a.
Merge pull request #1542 from Sonicadvance1/armv7-fixes

Reenables the ARMv7 FPR cache + minor ARMv7 things.
Link Foundation/CoreServices into unit tests so they build with DISABLE_WX.
Make check-includes.py properly report bad UTF-8 on all platforms rather than crashing on Python 3.

Doesn't really belong there, but just removing the check doesn't feel
like a good idea.
Fix UCodes.cpp to use UTF-8 encoding.
Don't murder the default PATH and CMAKE_SYSTEM_PREFIX_PATH on OS X.  Just prioritize /usr.

Changing PATH basically screws everything up, and while the attempt to
avoid MacPorts copies of system libraries was well-intentioned, it made
the OS X buildbot unable to pick up ffmpeg and libusb.

It's sufficient to put /usr first to make sure we use the system copies
of duplicated libraries.
Merge pull request #1543 from comex/utf8-issues

stupid utf-8 stuff
Merge pull request #1435 from comex/osx-build

OS X CMake improvements
Implement GetRevision() for wii disks.
Merge pull request #1546 from RachelBryk/iso-revision

Implement GetRevision() for wii disks.
Merge branch 'master' of https://github.com/dolphin-emu/dolphin into VR-Hydra
Merge branch 'VR-Hydra' of https://github.com/cegli/dolphin into VR-Hydra
Merge branch 'master' of https://github.com/dolphin-emu/dolphin into VR-Hydra
Fix reading wii revisions.