Log the cmd_buff arguments when citra comes across an unimplemented function
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.
externals: Add boost submodule.
Integrate Boost into build system and perform a trivial cleanup in vertex_shader.cpp.
StringUtil: Perform some minimal cleanup.
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.
Build fix for something which shouldn't have compiled successfully to begin with.
citra-qt: Add a utility spinbox class called CSpinBox.

This class has a few advantages over the regular QSpinBox:
- QSpinBox stores its as signed 32 bit integers, which for instance is unsuitable for representing memory addresses. CSpinBox uses 64 bit integers instead.
- QSpinBox does not provide an easy way to handle number input from bases different than 10.
- QSpinBox is quite inflexible in general and almost any sort of customization requires reimplementing it anyway.
citra-qt: Polish the pica tracing widget.

Changed start/stop button to reflect current tracing status.
Properly labeled column headers.
Pica/DebugUtils: Add breakpoint functionality.
Add GUI widget for controlling pica breakpoints.
citra-qt: Add texture viewer to Pica command list.

The texture viewer is enabled when selecting a write command to one of the texture config registers.
citra_qt: Add enhanced texture debugging widgets.

Double-clicking a texture parameter command in the pica command lists will spawn these as a new tab in the pica command list dock area.
citra-qt: Add pica framebuffer widget.
Some code cleanup.
More coding style fixes.
citra-qt: Rename "Stop Tracing" to "Finish Tracing".

This better reflects that no commands are supposed to show up until you hit the button a second time.