text: Title: Retry k8s-event posting if failed
  Body: ## Problem
  
  K8s-event posting can fail to post an event (`kind: Event`) for any reasons, such as API rate limiting, temporary API failures (HTTP 5xx), control plane connectivity issues, SSL handshake failures, etc.
  
  This leads to the events being lost, while they can represent some value. This applies both to the events created from the per-object `logger` messages (`logger.info(...)` from the handlers and the framework itself), and to explicitly posted events (`kopf.events.info(...)`, [docs](https://kopf.readthedocs.io/en/latest/events/)). The latter ones are definitely of value for the operator's maintainers.
  
  
  ## Proposal
  
  Instead of giving up on the event posting immediately, retry up to N times before really giving up.
  
  Acceptance criteria:
  
  * [ ] The retries should be with increasing time interval (similar to throttling, see [this PR](https://github.com/nolar/kopf/pull/510/files#diff-e574d9e725549b44bfe94ff48af4d178R126-R143)).
  * [ ] Ensure that one specific object's events are posted in order, i.e. newer events are not posted before the older events; but this should not be applied to different objects.
  * [ ] Make the number of retries configurable in `kopf.events...` function as a kwarg, to be used on a case-by-case basis (the developers knows better).
  * [ ] Make the default number of retries configurable via `settings.posting.default_retries` ([code](https://github.com/nolar/kopf/blob/0.27/kopf/structs/configuration.py#L42-L62)), use it when the number of retries is not explicitly passed to the `kopf.events...` functions.
  * [ ] Make the number of retries for implicit logging-to-posting events configurable via `settings.posting.logging_retries`. This is applied to all events generated from the `logger....` calls, without fine-grained control on any other criteria.
  
  The names of settings are negotiable: whatever feels more natural and English-like.
  
  ```python
  import kopf
  
  @kopf.on.create('zalando.org', 'v1', 'kopfexamples')
  def create_fn(body, **_):
      kopf.event(body,
                 type='SomeType',
                 reason='SomeReason',
                 message='Some message',
                 retries=5)
  ```
  
  
  ## Checklist
  
  - [x] Many users can benefit from this feature, it is not a one-time case
  - [x] The proposal is related to the K8s operator framework, not to the K8s client libraries
  
  Related: #117 — event aggregation. It should be taken into account when designing a solution, despite it is not directly a part of this feature request.