Introduce several commands for making and tracking prediction markets. Along the lines of:
!makemarket name: str, question: str, outcomes: List[str], end_date: Date
Name is a string ID to make it easier to reference. Question is the actual thing being bet on. Outcomes is the set being bet on. For correctness reasons outcomes should always have a "Something else" option appended to it.
Print a table of on going prediction markets
!betmarket name: str, probabilities: List[float]
Make a bet on the given market. probabilities must sum to 1 and be the same length as the corresponding markets outcomes list.
!resolvemarket name: str, outcome: int
Resolve the given market with the given outcome (e.g. resolve_market foo 1 resolves market foo with outcome 1 as the true outcome). Plausibly should check market ownership and that market end date has passed. Print the Brier scores of all market participants.