Fixed signals to respond immediately instead of waiting for timeout.

Streams that are blocking are unable to interpret signals until a timeout occurs. When working on a connection with a higher timeout or using heartbeats to keep the connection alive, signals will not work. 

Workarounds have been mentioned which set a timeout and loop every x seconds to do a check but this is inefficient for the cpu. Using stream_select with a value of null is the easiest on resources while waiting for input. The only way that input will be caught is if the stream is not blocking.

Fixes #165
Fixes #192 
@fprochazka That is why I am using `@` if it threw an exception or if it returned false I would have dealt with it appropriately to not get the php error. The two options are to ignore with `@`, which people can deal with in their own error handler, or set an error handler. The way I have done it will not make people change existing code. I think this is one that we should let slide until we refactor error and exception handling with the other stream functions. This has been requested a few times in the bug threads and I want to get something out there that works and close the issues. It doesn't matter as much for me as I have my own error and exception handlers but for most people they would be required to wrap their code with something like you suggested in your "bullet proof hack" and I don't think there is much buy in to that solution. @videlalvaro any opinions?