Remove mistakenly double-counted partial marginal costs.

Because of the assumption that each year within a period is homogenous
as regards the amount of energy *used*, there is no need to special
count the energy passing through dying technologies.  Doing this in the
objective function would double-count any costs for this energy.

The "nice" thing for the Utopia analysis is that there is no marginal
cost for the partial period techs (TX*), so it hasn't been an issue
during our calibration exercises.
Rethinking of how to calculate partial period techs

The overall change is to the assumption that partial-period
processes (those that have an end-of-life mid-period, rather than on a
period boundary) operate strictly until the end of their life.  Instead,
we now conform to the larger assumption that the energy demands and
configuration of use is the same for all years in a period.  The
simplification is that partial-period processes now only add a
fractional amount of their capacity to the total capacity available.
The fraction added is their operational years in the period to the whole
period.

For example, if a period is 8 years long, and a process ceases operation
3 years in, then only 3/8ths of that processes capacity are added to the
global amount available for that period.

temoa_lib:
  The only change is the generation of the sparse indices over which
  DemandConstraintIndices is called.  Specifically, replace the value
  demand with the name of the demand in the timeslice.  In practice this
  won't reduce the number of sparse indices, but uses the /name/ of the
  demand now, rather the demand value, and reduces the required
  dimensionality of the indices from 9 to 8.

temoa_model:
  Update DemandActivityConstraintIndices per temoa_lib.

  Also remove the now obsolete MARKAL-specific changes to the Temoa
  model.  Through FractionalLifeActivityLimit, Temoa's assumptions now
  agree with MARKAL on how to calculate the partial period nature of a
  processes.

temoa_rules:
  DemandActivityConstraint_rule now follows the CapacityByOutput
  modeling change.  This means that rather than using V_Activity to
  calculate end-use processes output ratios, Temoa uses the sum over
  V_FlowOut.  As this constraint is now /per demand/, it should
  correctly handle cases where a process can meet more than one end-use
  demand.

  CapacityAvailableByPeriodAndTech now accounts for the new assumption
  for partial-period processes.
Refactor to use short indices.

Prior to this commit, we were using long "descriptive" names for the
indices.  However, we have since realized that there are really on seven
indices, and believe that it is actually easier to read the code if we
follow a convention and expectation that the code is meant to be read in
tandem with our documentation.  Thus, we now use names like 'p' instead
of A_period, and it is to be understood by context to where it applies.
Generally, and unqualified letter is part of the "foreach" of the
constraint, while 'S_p' represents "Sum over the periods".

p = member of Period, or time_optimize
s = member of time_season
d = member of time_of_day
i = member of commodity or resource
t = member of all_tech
v = member of vintages
o = member of commodity or end-use demand

dem = member of demand
Finish refactor

Complete the refactoring from CapacityFractionalLifetime to
FractionalLifeActivityLimit.

And add mistakenly missed refactor pieces of the index use rename (e.g.
A_period -> p).
Elide now unused functions.
Update stochastic objective function
Refactor index names (e.g. A_period to p)
For easy diffing with a secondarily zipped file.

If doing a naive diff --brief, the zip files will be the exact same
length and contents, but without this patch, they'll be different files
because the trailer inside the will show different modification times,
which is stored as metadata in the zip file.  Solution: use an arbitrary
date and set all items to it ...