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.
It seems to me that the TODOs are self-evident. It's not like there's something weird about the implementation that should be fixed later, it's that there are functions missing. We of the future will see them missing and think "Huh, maybe we should add that".