Fix two bugs in the Python auction server:

1. The current_time() < auction['end_time'] check could cause forwarded bids to
   be rejected by some replicas.  Instead, the comparison should be made using
   the timestamp stored in the forwarded bid.

2. In the replicated service, I broke ties using timestamps.  This is
   problematic because of the timestamps' 1-second resolution.  Instead, I now
   break ties using the bidders' identities if the timestamps are the same.
   This is arguably unfair, as the bidder with the largest id can always win in
   a tied auction.