Adds support for an arbitrary number of TCP interfaces with specified ports and collections

Finishes #6