Splits the part of an equation before .. into its name, index list and
optional $ condition.
Details
Exported because consumers that compile their own GAMS-flavoured IR into
multimod equations need exactly this parse. energyRt's user constraints
(newConstraint()) arrive as GAMS strings whose headers look like
eqCnsX(region, year)$mCnsForEachX(region, year).., and re-implementing the
split would let the two parsers disagree.
