Fix error in Binomial to retain lazy logit initialization (#46055)
Summary:
Some internal tests were sporadically failing for https://github.com/pytorch/pytorch/pull/45648. The cause of this is a bug in `Binomial.__init__` that references the lazy `logits` attribute and sets it when not needed. This cleans up the `is_scalar` logic too which isn't needed given that `broadcast_all` will convert `Number` to a `tensor`.
The reason for the flakiness is the mutation of the params dict by the first test, which is fixed by doing a shallow copy. It will be better to convert this into a pytest parameterized test once https://github.com/pytorch/pytorch/pull/45648 is merged.
cc. fritzo, ezyang
Pull Request resolved: https://github.com/pytorch/pytorch/pull/46055
Reviewed By: agolynski
Differential Revision: D24221151
Pulled By: neerajprad
fbshipit-source-id: 15aae90a692ee6aed729c9f1d2d1b1388170a3c0