Adding line numbers to test failures and colours

One of the annoying things about our test helper functions is that they don't reveal the line that caused the failure, instead they point to the line in `convenience.go`. This PR adds more specific line numbers and also outputs colours to help people find the essential information quickly.

Here is a screenshot of a failing test:

![colours](http://imgur.com/8uTozJw.png)

If people think colours are a bad idea and would prefer none, I can happily remove it :smile: 

I also tried removing the annoying `convenience.go:25` prefix, but it's [hard-coded](http://golang.org/src/pkg/testing/testing.go#L210) into the standard lib.