Add Antioch::min(), new zero_clone()

I should have just added min() at the same time as max() for
completeness.

The new zero_clone() allows type mixing; this is useful when
vectorizing calculations like interval()
Fix if_else(Eigen) specializations

No longer trying to do fancy things, so this version creates more temp
variables than I'd like, but it works.