Added timeout option and socket closing verification

Hi Sergey,

I encountered a problem while doing some heavy usage of zbxsend in our monitoring infrastructure and noticed that some of our monitoring tests stopped sending information to zabbix. After checking our logs I found that the problem was with the zbxsend module.

In some rare cases the socket tried to receive information from zabbix and just hanged causing the socket to remain open forever and our test not to finish. 

I implemented a timeout feature for the socket (default is 15 seconds) and I also close the socket in any case of failure or success. 

Users that are using the current version should not feel any change unless they reach the timeout (which will return false).

I think this is an important addition to the module and I'll be happy to add it to the official zbxsend version.

If you decide to use this version please also update the pip package so automation systems like chef can get the updated version.

Thank you,
Tom Kregenbild.