github.com/juju/errgo from Canonical is really great. 100% compatible with the error interface, allow you to get the source and the explanation of an error.
When I find some time I'll pull out my code and start using either errgo or the SpaceMonkey version.