Fix: ipcs: Properly disconnect client connection on POLLNVAL or any other error causing connection removal from mainloop.

qb_ipcs_dispatch_connection_request is a callback function registered with
mainloop, or whatever other looping thread implementation is in use.  When
this callback is registered, a reference of the connection object is given
to the mainloop thread.  If this callback ever returns something none zero
the callback (and corresponding fd) is unregistered from the loop automatically,
so we must decrement the reference in this instance.

Since unregistering this callback from mainloop guarantees a disconnect
simply because requests on the fd are no longer processed, it is best
that we completely disconnect the connection (which will handle the unref)
when this callback returns an error... Otherwise since the fd is unregistered
from the mainloop thread, it may not be possible to detect a disconnect
in the future.
Fix: ipcs: Disconnect shm ipc connection when poll socket returns error on msg receive
Merge pull request #74 from davidvossel/ref_count_cleanup

Properly disconnect clients when ipc dispatch fails.