Add ObserverEffect and Nil* metrics.

See the comment on ObserverEffect in metrics.go for more.

Note that this changes the signature of New* for all metrics to return the interface type.  I remember a discussion on the mailing list long ago that convinced me to change the return value of those functions to a concrete type but I can't recall why and this is a good reason to change it back.
ETOOCLEVER so s/ObserverEffect/UseNilMetrics/.
Merge branch 'observer-effect'

Conflicts:
	ewma.go
Return interfaces from NewRegistry, too.
Remove dead code.