Add Weibull Distribution

Small pull request to both get feedback, get used to the PR system, and hopefully contribute!

Cliff notes:

* I moved constants from general.go and norm.go to constants.go as other distributions may have their own constants as well (or want to use some of the ones the normal distribution uses) and rather than have them spread out within the package's files, have them centrally located
* I added the Weibull distribution. Note that there are four functions not implemented and marked `TODO`: `ConjugateUpdate`, `Fit`, `NumSuffStat`, `SuffStat`. If anyone knows of how to implement these for the Weibull, please let me know!
* I leveraged the existing test framework but did not change it.
Why are we drawing a normal random number (which can be -inf to inf) and passing it to a function which needs to be between 0 and 1?