Revert "Revert "Limit runtime of stream rule matching, disable streams who excess it""

This reverts commit 2c9befafb104c42c4ff32e195fa40e00d7f2f67c.
remove assisted inject from streamrouter

replace the assisted parameter useCaching with an accessor method, it's only being used in tests anyhow
it's impossible to use assisted injection here, because consumers of the stream router used the StreamRouter, not StreamRouter.Factory.
In any case, we don't want to inject the factory because assisted injection factories cannot produce singletons, we'd end up with many StreamRouter instances.