General-purpose retrying library
