Make the Person constructor explicit

Why make things more complicated than they have to be?
Handle tied games

Modifies get_winner and get_loser to return boost optional, which can be
empty if the game is tied.

This might support 'in-progress' games down the road.

Fixes #2.
Remove extra debug includes
Build as a shared library by default
Rename person to player

The only people we've interacted with so far have been players, so the
split is getting confusing.