go library for adding a timeout to any operation