filter: Release lock in filter functions

Release the object lock before calling the filter functions. We need to
keep a cookie to detect when the list changed during the filter
callback. We also keep a hashtable to make sure we only call the filter
function once for each object in case of concurrent modification.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732950
session-pool: signal session-removed outside of the lock

Release the lock before emiting the session-removed signal.
client: expose _close() method

Expose a previously internal close method to close the client
connection.
server: implement client REMOVE filter
docs: update docs