Refactor: move PipelineConfig from Ruby to Java
Reimplement the Ruby class PipelinceConfig in Java trying to keep the method signatures to limit the changes in client code, this is a step of other that intend to move all the configuration code in Java language.
Having all that code in Java unlock some reasoning about how to better implement it and probably an improvement in performance during process startup.
Moved also the spec into a JUnit and fixed here and there the failing tests
Closes: #11824
* Add getter for pipeline protocol
* Refactoring: extract bare string into constant
* Report pipeline protocol to Monitoring as part of logstash_state docs
* Report all protocols, not just first one
* Refactoring: rename constant to be more descriptive
* De-dupe protocols list before sending to monitoring
* Checking for single protocol
* Adding missing require
This was being masked and was uncovered when this test suite was run by itself
* Raising error if multiple protocols are specified
* Adding back comma