Add a missing sanity-check in pleaseGive*Hint().

It's illegal for a bot to pleaseGiveValueHint() to itself.
Hanabi::Server now checks for this condition and throws an
exception if it is detected.
Updates to the main.cc harness.

In addition to printing the percentage of perfect games
(which hasn't been non-zero ever since I fixed that hint-stone
bug), we'll also now print the percentage of games using 0, 1,
2, or 3 mulligans. (A good bot will use all three mulligans in
most of its games.)

Also, things are fast enough now that we can bump up the total
number of games to one million to get more accurate statistics.
Add "ValueBot" (average score 17.96).

ValueBot is built on top of SimpleBot. It uses the same general
tactics, but adds the concept of "valuable cards": cards whose
duplicates are all in the discard pile already. If ValueBot
notices that its left-hand neighbor (call him Bob) is about to
discard a valuable card, it will pleaseGiveValueHint() to warn
Bob not to discard that card. (Actually, ValueBot prefers to give
a helpful hint about other cards in Bob's hand that are actually
playable right now, since that's sufficient to change Bob's
behavior next turn. But sometimes Bob doesn't have any playable
cards.)

I experimented with the idea that the bot could also give
"temporizing" hints in the endgame (e.g. "this card is a 1")
to avoid having to play or discard potentially useful cards.
However, my efforts in this direction actually *lowered*
ValueBot's average score by 0.2, so I rolled them back.

I think ValueBot needs the concept of a "worthless card" next;
for example, if the lowest playable value right now is 3, then
any card identified as a 1 or 2 is worthless. When discarding,
we should prefer worthless cards over cards of unknown value.