Introduce ConfigKey

A ConfigKey has a config path (String) and a type parameter indicating the type that should be extracted from that path.