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 
I agree I am against the use of `@`. It's just one of those functions that is more efficiently handled with `@` and since we use it on all of the other stream functions I didn't think it would be an issue. The error it throws is of no significance when the signal interupts stream_select. Otherwise we could do the following:

```php
set_error_handler(function() { return true; }, E_WARNING);
$result = stream_select($read, $write, $except, $sec, $usec);
restore_error_handler();
```