ShouldResemble should output type information for mismatches

ShouldResemble uses `reflect.DeepEquals` for comparison.

DeepEquals returns true for "aliased" types, ie.

```go
type something map[string]string
var s something
// and
var m map[string]string
```

The output should probably be `%#v` instead of `%+v` to include type information.

See http://play.golang.org/p/X15TthEeWD for example

(https://github.com/smartystreets/goconvey/commit/3386a1b10f55fe0c3f231438c43b77295644fa5c)