Args parsing

I think we need a `printUsage()` function that will be called when args are not good or if no args are provided. For example with netcat we got something like this:

`````
usage: nc [-46AcCDdFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval] [-p source_port]
	  [-s source_ip_address] [-w timeout] [-X proxy_version]
	  [-x proxy_address[:port]] [hostname] [port[s]]
`````