Restructure types.

* Add Observable types and functions
* Move types into their own module
Add Metropolis Hastings transition.
Update sanity check and plotting script.