Nicer toStrings for physical plan

And a little bit of related cleanup. I prefixed the types that are "double-nested", such as `BsonField` and `Reshape`, as well as `Bson`, which we don't typically import. But I did not prefix the types under `Selector` and `ExprOp`, because we do tend to import them.

See #125.
Yes, I'd prefer that to be consistent with all the other cases, in which the path is always absolute relative to the package.