Introduce runtime2/config. (#2447)
Introduce runtime2/config. (#2447)

Automatic merge from submit-queue.

Introduce runtime2/config.

This is the first part of a major refactoring of the runtime code. This part solely deals with config.

- Collects all config related code under runtime2/config package.
- Introduces a strongly-typed object model to ease use at the client-code.
- Adds perf counters for config state changes.

Some further details can be found here: https://docs.google.com/document/d/1tYlZuDQYkoikNcuD_DEA4SCi_t-SNwURkEyA8ND_mbw

NOTE: This PR contains code for some of the pending PRs:
https://github.com/istio/istio/pull/2448
https://github.com/istio/istio/pull/2450

The important parts to look at are pkg/runtime2/config and pkg/expr changes.
istio/pkg,istio/pkg,istio/pkg,istio/pkg,istio/pkg