Fix gccgo compatibility

Introduce a conditional constant to deal with the implementation differences between gc and gccgo.

There is one test still to fix (down from 5)

--- FAIL: TestMask (0.00 seconds)
        errors_test.go:231: unexpected details: want "[{/home/dfc/src/github.com/juju/errgo/errors_test.go:39: } {/home/dfc/src/github.com/juju/errgo/errors_test.go:38: foo}]"; got "[{} {foo}]"