optional validation of scrooge/thrift Document

```
thriftFiles.zip(docs).flatMap {
  case (path, doc) => validate(doc, validators).map(errors => (path, errors))
}.toMap

validate: Document => Option[List[ErrorMessage]] = ???
```

This way you are being more explicit about what is actually happening. 

OR

```
thriftFiles.zip(docs).flatMap {
  case (path, doc) => {
     val errors = validate(doc, validators)
     if (errors.isEmpty) List.empty
     else List((path, errors))
}.toMap
```

Just not a fan of creating this Map that has meaning less information such as empty lists for some paths and errors for others, when you only actually care about the errors.

This is just a minor point though.