Fix a typo in evaluate

Spotted by Lyudmil Antonov.

No functional change.
Reshuffle in timeman.cpp

Move template definitions before call site.

No functional change.
Reshuffle in uci.cpp

Move function definitions before call site.

No functional change.
Move args parsing to UCI::loop

This leaves a very clean main.cpp

No functional change.
Simplify Makefile by removing OS X targets

Right now the Makefile is cluttered with OS X equivalents
of all the x86 targets. We can get rid of all of them and
just check UNAME against "Darwin" for the few OS X-specific
things we need to do.

We also disable Clang LTO when using BMI2 instructions. For
some reason, LLVM cannot find the PEXT instruction when using
LTO. I don't know why, but disabling LTO for BMI2 fixes it.

No functional change.
More readable trapped rook condition

Prefer

file_of(s) < file_of(ksq)

to the inidrect

file_of(ksq) < FILE_E

To evaluate if semiopen side to check is the left side.

Also other small touches while there.

No functional change.