x64Emitter: add BMI1/BMI2 support

TZCNT and LZCNT use a completely different encoding scheme, so they should
probably go in a separate patch.

Also add some tests.
Common: Remove unnecessary define check in Log2
Merge pull request #956 from lioncash/preproc-stuff

Common: Remove unnecessary define check in Log2
Merge pull request #868 from FioraAeterna/bmi

x64Emitter: add BMI1/BMI2 support