Return an error from Register and disallow dupes

This is a change to the interface that will appear as a breaking change
for authors of Registry implementations.  The change was made in support
of the change described below.

rcrowley/go-tigertonic#60 points out that metrics can be reregistered
causing the original metric to be lost.  This patch change the Registry
interface's Register method to return an error and implements this
change in StandardRegistry.Register and Register.
StandardRegistry.Register (and therefore Register) returns a
DuplicateMetric error if a name is already registered.