Beautification of the validate command

A little polish on a useful feature.

We gave vector validate some touching up to make it look better, and feel nicer to use. This was heavily inspired by the fantastic linkerd validate command.

Take a gander at the new output on a good valid configuration:

vic@sticky-keyboard-macbook:/git/timberio/vector$ vector validate test.toml
√ Loaded "test.toml"
√ Configuration topology
√ Component configuration
√ Health check `sink0`
-------------------------
                Validated

Now an invalid configuration:

vic@sticky-keyboard-macbook:/git/timberio/vector$ vector validate test.toml
Failed to parse "test.toml"
---------------------------
x missing field `type` for key `sinks.sink1`