Ensure that CountAll rewriting creates unique column names.

Not all databases allow duplicate column names (coming from multiple
views that are joined in a subquery), even if those names are never
referenced, as in the case of a CountAll aggregation. We now ensure
that an aggregation subquery produces a StructNode (which guarantees
unique names) even for a CountAll.

Fixes issue #175. Tests in CountTest.testJoin (previous commit).