Log the cmd_buff arguments when citra comes across an unimplemented function
MemMap: Updated memory map to subtract base address instead of mask.

- More readable, a little less error prone.

Conflicts:
	src/core/mem_map.h
	src/core/mem_map_funcs.cpp
Mutex: Properly lock the mutex when a thread enters it

Also resume only the next immediate thread waiting for the mutex when it is released, instead of resuming them all.
Mutex: Release all held mutexes when a thread exits.
Mutex: Remove some forward declarations

Moved Mutex::WaitSynchronization to the end of the file.
Make OpenDirectory fail if the directory doesn't exist

This is in line with what the hardware itself does.

It does this by splitting the initial directory opening into Directory.Open(), which will return false if a stat fails.
Then, Archive::OpenDirectory will return nullptr, and archive.cpp will return an error code .
armemu: Fix parenthesis warnings regarding bitwise ops
armemu: Fix SASX
Loader: Add 3DSX support
armemu: Fix SSAX
Kernel/File: Fixed file read/write hwtests

The 3DS allows the user to read from files opened with the Write access modifier, even if he did not specify the Read access modifier.

Open the files in binary mode so that we can prevent CR/LF problems in Windows, where a line-end is replaced by these two bytes instead of just 0xA, this was causing problems with the GetSize test
Merge pull request #260 from archshift/opendir

Make OpenDirectory fail if the directory doesn't exist
Merge pull request #264 from Subv/files

Kernel/File: Fixed file read/write hwtests
Merge pull request #259 from ichfly/master

Loader: Add 3DSX support
Merge pull request #263 from lioncash/sasx

Fix emulation of SASX and SSAX instructions.
Merge pull request #244 from bunnei/cleanup-memmap

MemMap: Updated memory map to subtract base address instead of mask.
Thread: Fixed to wait on address when in arbitration.
Merge pull request #242 from bunnei/fix-address-arbiters

Thread: Fixed to wait on address when in arbitration.
Merge pull request #217 from archshift/cmd_buff

Log the cmd_buff arguments when citra comes across an unimplemented function
Fix some headers to include their dependencies properly.