Implement job expiration and reaping

Going to leave the builder pattern in for now as we discussed.