XD-1033: Add a tcp-client source module

A module that acts as a tcp client, much like http-client acts as an http client.

Allows for stateful interaction with the remote party, through the use of a counter (a script can then know at which step of the "conversation" it currently is)

Note that the statefulness could actually be applied to our trigger sources (which currently have a default payload of "") and this source changed to a processor, but that's another PR