Validator

* DefaultValidator should be renamed to `multiValidator`. Because it's basically the same as `MultiLoader`.  I think you don't need a struct to we could use something like:
```
type multiValidator []Validator
```

But that's up to you, either way is ok.

* NewValidator should be renamed to `MultiValidator` so it's also in idiomatic as witih `io.MultiWriter` or our own `multiconfig.MultiLoader`. 

* NewValidator should return `Validator` interface instead of the the DefaultValidator struct. so it's obvious that it can be used as a middleware or to chain validators.