Namespace.all_objects

In order to more easily port ObjectHierarchy calls to our linear system, we need to provide an all_objects equivalent. The ObjectHierarchy#all_objects method is a little quirky to translate as it's specific to the design of the ObjectHierarchy class which effectively "executes" the ancestor and descendant search.

When we translate this to linear scopes it's just a UNION of the input scopes.

There's a couple of reasons it might be worth having an all_objects equivalent.

  1. To lower the knowledge bar to port recursive queries to linear queries.
  2. To explicitly test that a UNION of multiple ancestor and descendant queries works as expected. E.g. !76910 (merged)