Track formulas in addition to values

This allows users of the library to find out what the formula was for a given cell by doing shared formula interpolation on the formulas based on the cell deltas, etc.

Changing the interface of public struct should only be done as a last resort.  The first signal to you should be that the unit tests in this project start failing with this change, that means client programs will also fail.