* Add stats lifecycle bean. Add onStartRequest method to LoadBalancerLifecycle. Add loadbalancer.Request field to CompletionContext.
* Add TimedRequestContext interface. Make RetryableRequestContext extend RequestDataContext. Improve generating metrics. Add utility class for working with tags. Ensure tags are not null.
* Add separate meters depending on CompletionContext.Status.
* Modify registered metrics. Add adapter for BlockingLoadBalancerClient requests. Add autoconfiguration.
* Make new config conditional on MeterRegistry class.
* Rename lifecycle bean. Do not log request if 0 timestamp.
* Fix onStartRequest call arguments for BlockingLoadBalancerClient.
* Fix onStartRequest and onComplete calls for RetryLoadBalancerInterceptor.
* Only register timed request once. Add tests.
* Adjust tags logic. Add more tests.
* Add more tests.
* Refactor. Add javadocs.
* Refactor.
* Refactor.
* Retrieve client response data if possible in BlockingLoadBalancerClient.
* Refactor.
* Fix docs after review.
* Make previousServiceInstanceMutable.
* Change argument order for CompletionContext constructors. Remove duplicated start time setting.
* Implement retry logic.
* Fix retrying on next instance when RetryExhausted in same instance.
* Fix retrying on next instance when RetryExhausted in same instance.
* Fix retrying on next instance when RetryExhausted in same instance.
* Move duplicated methods to utility class. Fix checkstyle.
* Fix test.
* Add more tests.
* Fix test.
* Add autoConfiguration.
* Refactor and add javadocs.
* Add javadocs.
* Use RetryAwareServiceInstanceListSupplier with reactive retries.
* Update properties.
* Fix the docs.
* Rename utility class.
* Verify interactions in order.
* cherry-pick switching to properties
* Pass information on previous ServiceInstance to RequestContext.
# Conflicts:
# spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/retry/BlockingLoadBalancedRetryPolicy.java
* Add a RoundRobinLoadBalancer implementation that avoids same service instance while retrying.
* Wrap instances in ArrayList. Add tests.
* Enable AvoidPreviousInstanceRoundRobinLoadBalancer by default if SpringRetry on classpath.
* Fix failing tests. Add javadocs and author tags.
* Fix properties.
* Add documentation.
* Fix docs after review.
* Fix docs after review.
* Handle avoiding previous instance with ServiceInstanceListSupplier in place of LoadBalancer.
* Fix property name.
* Change spelling.