Fix stub example to use User.create
Add SupplyInterconnect producer

Models an import interconnector which behaves much like any other plant,
except that it defined it's marginal cost using a curve, instead of
being constant.

ParticipantSet::Resortable has been added to ensure that producers are
re-ordered according to their marginal cost in each point calculation,
but ONLY if the set contains one or more producers with a variable
marginal cost. SupplyInterconnector is the only such class at this time.

This change is performance neutral for merit order calculations which do
not involve a SupplyInterconnector, and roughly doubles calculation time
for those which do.

To create a SupplyInterconnect, first create a LoadCurve where each
value in the curve is the price for that hour (ignoring that the name
"LoadCurve" does not describe this use):

  prices = LoadCurve([1.0, 2.0, 1.2, 2.2, ...])
  conn   = SupplyInterconnect.new(price_curve: prices, ...)

Closes #105.