TextErr implementation.

As discussed, this change makes it much easier for Text serialization such as json or xml.

There are no additional overheads and no API changes whatsoever and it prevents everyone that uses this library from having to write this ugly function for this use case:

```go
func allowErrorsToBeSerialized(map[string][]error) map[string][]error {}
```

I don't want to maintain a fork, so I've provided these changes for you. I also fixed your broken test. Since you chose Apache 2.0 I was also forced to create a notice of modification to allow these code changes to exist online. Please remove them if you accept the code.