Add nDisasterHeight to game state.

Add a new field to the game state that remembers when the last disaster
was triggered.
Check in Octave script for disaster probability.

Write a simple Octave script to play around with the formula to choose
for the disaster probability.
Move logic to kill characters into subroutine.

Move the logic that kills characters of killed players and removes all
killed players into a new subroutine.
Allow paying bounties to dead players.

Rewrite the bounty generation code a bit so that a gametx can be
constructed also for dead players.  This enables correct handling of
banking during disasters.
Update disaster chance script.

Change the disaster chance Octave script to include the actually planned
probabilities for now.  (1/30k flat out, min. time 20k, max. time 100k.)
Add utility routines ToStringForLog.

Add new utility routines that simplify ToString for logging purposes.
Rework ConnectInputs to clarify structure.

Rewrite the CTransaction::ConnectInputs function a bit to clarify the
structure and help with future optimisations with respect to game
transactions.
Further rewrite ConnectInputs.

Rewrite ConnectInputs further.  This removes all quirks to build up
txindex.vSpent when fFound is false.  When we don't have a txindex yet,
vSpent actually isn't really used.  Make this explicit.
Make checks more strict.

Make the checks in (Dis)connectInputsGameTx stricter.  This enforces
more assumptions on game transactions, which should, however, be
satisfied in practice.
Add comment with more explanation.
Process connect inputs of game tx without prev tx.

Implement ConnectInputsGameTx without requiring the previous
transaction.  This makes it possible to skip loading it from disk
entirely for game transactions.
Use IsPlayerDeathInput also for disconnecting game txs.

Optimise also disconnecting of game transactions via IsPlayerDeathInput,
so that they can be done without loading the prev tx.
Fix merge of commit.
Add field 'remainingLive' to player state.

Add a new player state data field for 'remaining live' after poisoning
(will be used in the future for poison disaster).
Check for disaster and set remainingLife values.

Check for poison disaster blocks and apply them by setting the remaining
life expectations to random values.  These are not yet shown in the UI,
nor are they actually decremented over time or used to kill players.
Implement KilledByInfo class to carry more information.

Add the KilledByInfo class so that we can carry over more information
about reason for deaths from the game state to gametx construction.  In
the future, this is necessary to create suitable game transactions for
killed-by-poison deaths.
Upgrade game DB if version is old.

Bump the version check for upgrading the game DB.  This ensures that it
will be upgraded to the latest changes in store.
Make killedPlayers / killedBy private in StepResult.

Make the killedPlayers and killedBy members private in StepResult, only
providing read-only access to them.  This ensures that they are only
filled in in accordance to the KillPlayer member function.
Implement poison in game engine.

Implement decrementing of remaining life and killing of players due to
poison in the game engine and game tx backend.
Show remaining life in Qt.