TLS: Implementing Jason Klebs replacement and centralised implementation of a bisection proceedure. The following comments from Jason 'Replaced cardamom-native zbrent with version from Burkhardt brent.f90 modified for cardamom. Search and replace use module cardamom_zbrent to brent_zero to use zbrent function of same name from the new module. Further adjusted function from brent.f90 to directly match behavior of previous cardamom version: changed name from zero to zbrent. Takes impure functions. Takes 2*tolerance relative to brent.f90 .'