This adds GError and GCancellable parameters to the existing
nice_agent_send() API, and is identical in all other respects (notably,
it is non-blocking).
The GCancellable is currently unused, but could be used in future if the
API grows to support blocking writes.
The GError is used to return more interesting error codes than just