Fix gamma constructor

Fixes #212.

Also, I realised while doing this that #221 was already supported, and have added a test to show how to do it.  Hint, it's exactly the same as the `UniformVectorRV`.  We could certainly do this more efficiently for low probability events, but it's supported at least.

I'd like feedback on whether or not this should go into `v0.50.1`, as it does change the calling signature.  However, an argument could be made for the original version being a long-standing bug since a Gamma isn't defined on anything but a box.  Happy to rebase against `dev` instead if I get push-back from others.