Fix for #2306

For #2306

If a resource using the `:as` option is registered before the same resource without the option would cause only one resource to be added to the ResourceCollection. This change fixes the issue by searching for existing resources by their `resource_name` object instead of a more forgiving search which could return an incorrect match (depending on file load order).

Any methods using `ResourceCollection.[]` to find resources by  resource name string, class name string, class, or base class should now use `ResourceCollection.find_matching_resource`.