Aggressive agent config builder caching

Aggressive caching behavior reduces the time taken to run test_platform_hierarchy_with_some_instruments from 347 seconds to 218 seconds -- about a 2-minute improvement.  Almost all of this speedup was from working in generate_stream_config in the agent config building process, and there are still more gains to be realized.

Functionality added to enhanced resource registry client to support caching resources as well as predicates.

Functionality added to some DM classes to support resource-object-level operations so that RR.read can be avoided.