Proper process termination

- Proper process termination:
 if interrupted with `CTRL+C` blocking socket calls will return with -1. Each device should call `FairMQDevice::Shutdown()` before ending the running state to close open sockets, otherwise the interrupt call itself will block.

- FIX: Update number of received messages for `FairMQFileSink`.
- Add ability to poll on outputs for `FairMQPoller`.