Added creation time to hand list

Hand list now includes relative creation time, in a friendly format like
"Created 9 seconds ago".
Added route to handle showdown timing

The showdown endpoint is designed for AJAX calls to signal the start of
a round of voting and to query the consensus when the round is over.
Added showdown time attribute to Hand entity
POST to showdown/#HandId to open the voting window

The time offset of the showdown is settings-configured.
GET showdown/#HandId for the consensus, maybe

Return a json object containing the consensus if the current time is
after the hand's showdown time.
Reject bets made outside of the betting window

If the hand has no showdown time, or the showdown time has passed,
reject incoming bets.
Messaging isn't very helpful at this point, however.  Should probably
include the attempted bet, too.
Indicate reason for bet rejection

Also include bet value when sucessfully submitted.
Embed javascript to query the consensus when voting ends

It would be nice to see the consensus without an AJAX call if they
refresh after voting is concluded.
Added button for dealer to call a vote

Just for looks now.  Javascript to come.
Ignore calls for vote during active window

POST request returns existing showdown time if the current time is
before that.
Dealer's Call Vote button hooked up to AJAX

Tick the timer down once per second, then reload the page when it hits
0.
Adjust bettor view consensus timing

Using ceiling instead of truncate should prevent querying the consensus
endpoint a split second too soon before the showdown time.
Don't use AJAX after the showdown

If the showdown has occurred, the consensus (if any) can be delivered
directly.