Working on #116

(Modularize and clean up the code implementing calving mechanisms)

The code I added compiles, but isn't used (and isn't tested).