Further streamline connected pawn evaluation

Make even more clear what are the terms that
contribute to evaluate connected pawns, and
completely separate them from the weights
that are now fully looked up in a table.

For future tuning makes sense to init the table with
a formula instead of hard-code it. This allows to
reduce problem space cardinality and makes tuning
easier.

And fix a MSVC warning while there:
warning C4804: '>>' : unsafe use of type 'bool' in operation

No functional change.
Fix some warnings with Intel C++ compiler

No functional change.
Account for Tempo in do_evaluate()

This is more correct because we let evaluate()
to be a pure dispatcher and also now evaluate
and tracing outputs are consistent.

No functional change.
Rename Tracing methods

Easier to understand and more in line with
standard Trace classes naming like:

http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx

No functional change.
Document why initing eval tables

Instead of hard-code the weights in a big table,
we prefer to calculate them out of few parameters
at startup. This allows to keep low the number of
independent parameters and hence is good for tuning
and for a better insight in the meaning of the numbers.

No functional change.
Calculate maximum threat for hanging pieces

Use the max_threat() helper function to estimate more precisely the
best hanging piece threat.  Also retunes the Threat array using SPSA.

STC
LLR: 2.95 (-2.94,2.94) [-1.50,4.50]
Total: 7598 W: 1596 L: 1468 D: 4534

LTC
LLR: 2.97 (-2.94,2.94) [0.00,6.00]
Total: 7896 W: 1495 L: 1350 D: 5051

Bench: 6816504

Resolves #73
Reformat max_threat()

Helper function should just know how to find the
biggest piece type in a bitboard. All the threat
logic and data shoud be in evaluate_threats().

This nicely separates the scope of the two functions
in a more consistent way and simplifies the code.

No functional change.
Retire to_char() helpers

Remove some useless wrappers and make
the conversion explicit and starightforward.

No functional change.
Rename ucioption.h to uci.h

We are going to add all UCI related
functions here, so first rename it
to a more proper name.

No functional change.
Retire notation.h

And move the few remaining content
under UCI namespace where they belong.

No functional change.
Final UCI helpers renaming

To reflect new changes, specifically that
now are all under UCI namespace.

No functional change.
Retire notation.cpp

Now we can finally retire notation.cpp
and move UCI helpers under uci.cpp

No functional change.
Fix an obscure gcc warning

warning: narrowing conversion from ‘int’ to ‘char’ inside { }
is ill-formed in C++11 [-Wnarrowing]

When pedantic meets esoteric!

No functional change.