Clang fixes

These commits add preliminary clang support to Cmake and offer a few workarounds for assembly stuff that doesn't compile under clang (clang seems to follow a slightly different syntax than gcc). Ideally we can port the assembly stuff to work with clang syntax, but that's not terribly high on my todo list.

Caveats:
- only debug builds are supported. The individual optimization flags that GCC sets aren't recognized by clang. Generic O1 and O2 segfault on loading a game.
- Clang doesn't support some flags (mpreferred-stack-boundary, fno-regmove,etc), so I have no idea if 1) clang has identical but differently named flags, 2) if clang built PCSX2 will die without them.