Batteries 2.1.0

Compiles, all tests pass under 3.12.1
4.01.0 fixes
loosen tolerance a little

For some reason, the current tolerance isn't achieved in OCaml 4.01.0.
Relaxing from 1e-15 to 1e-14
Merge pull request #322 from matsen/322-batteries-2.1.0

Move to Batteries 2.1.0 / OCaml 4.01.0