RFC: dense blkdiag

I needed this earlier this week. This is a truly naive approach, and I'm sure it can be improved, but it does seem to get the job done.

cf. #5828
- Have the 0-arg version throw an error.
- Use `(x, y...)` instead of `(x...)` in the other definitions.