Latest batch of HMC changes.

1. Support wrapping `(observe-at ...)` in a `label` or `derivative` form for HMC.
2. If HMC leapfrog step moves into a region with 0 probability, abort the proposal (reject and retry).
3. Compute the HMC acceptance threshold precisely as in the R. Neal paper.  Previous expression was wrong.
4. Add an example of doing linear regression using HMC.  It seems to converge quite well now.