clean up symbolic zero handling in transpose rules
We had a few rules in which:
1. transpose rules didn't correctly handle symbolic zero cotangent
inputs, and/or
2. transpose rules returned the ad_util.Zero class rather than an
instance of it (and/or returned a singleton where they should return a
list)
This solves a FIXME in the code left by @apaszke.
(Second attempt at this fix after #5030 was rolled back due to the div
transpose rule not being cleaned up yet, causing a new check I added to
fail.)