implement ".log_abs_det_jacobian()".

"transform_to(constraint)" looks up a not-necessarily bijective
   "Transform" from "constraints.real" to the given "constraint". The
   returned transform is not guaranteed to implement
   ".log_abs_det_jacobian()".

The "transform_to()" registry is useful for performing unconstrained
optimization on constrained parameters of probability distributions,
which are indicated by each distribution's ".arg_constraints" dict.
These transforms often overparameterize a space in order to avoid
rotation; they are thus more suitable for coordinate-wise optimization
algorithms like Adam:
loc = torch.zeros(100, requires_grad=True)
   unconstrained = torch.zeros(100, requires_grad=True)
   scale = transform_to(Normal.arg_constraints['scale'])(unconstrained)
   loss = -Normal(loc, scale).log_prob(data).sum()
The "biject_to()" registry is useful for Hamiltonian Monte Carlo,
where samples from a probability distribution with constrained