* Move AddReference and GetReferences to ResourceWithMetadataImpl
* Remove resourceMapProvider from setBaseProperties signature
* Remove MergeBaseDependencies
* Remove 'base; property from with
* Only populate refs if introspection is enabled
Only top level resources can have with and param blocks. Closes#2872
Refactor resource and dashboard run hierarchies to use base impl structs. Closes#2873