[gitignore] Ignore executable.
Add a simple update function that keeps quantity from drifting due to cumulative errors.
[curve] Fix implementation of supply().
[curve] Add derivative, approximated with 2-term centered difference.
[market] Add price derivative. Compute prices based on total quantity; not vector.
[actor] Compute marginalRevenue, including poisoning effect.

Previously we had been optimizing on price along, ignoring the impact
that increased production would have on price.

See comment in actor.cpp for math.
[opt] Optimize towards maximal marginal revenue, not price.
[opt] Misc. changes...

- Remove "Cournot" from names, this solver is general across rounds.

- Move common bookkeeping functionality into a single lambda function.

- Measure change by a vector, use norm() for magnitude of change.

- Output maximal change since last update.

- Compute total market production in another vector for ease-of-use.

- Call Actor::update().
[world] Include a sell-off demand curve.
[curve] Cubic spline interpolation.

This is important to prevent thrashing around values where the demand
curve derivative was discontinous, making marginal revenue
discontinuous.
[world] Hack demand data again to remove irregularities... produce OPEC data directly in source file.
[doc] Some interpolation fun with splines.

Checking it works, could be useful for presentation.
[main] Dump each actor's marginal revenue.
[opt] Improve report formatting.
[opt] Put back in termination condition, increase step size.