FCPClientReferenceImplementation.send(): Adapt to plugin-fcp-rewrite

- mConnection previously was a PluginTalker, but
now is a FCPPluginClient. So send() has a different signature
- The old function was non-blocking, so we can use the non-blocking
send() here as well
- In opposite to the old implementation, we need to decide whether we
send a reply or a non-reply message, by chosing the appropriate
FCPluginMessage constructor. I've checked all callers, and the
operations they do are not replies. So we are safe to send a non-reply
message here. However, it must be documented that this function must
only be used for non-replies, so JavaDoc is added.
- The new send() can throw IOException, so we force callers to deal with
it by throwing it out. Will adapt them in the following commits.
FCPClientReferenceImplementation.fcp_Ping(): Adapt to plugin-fcp-rewrite

- Throw out IOException which is newly thrown by send() if it detects
that the connection was closed before spawning the actual send thread.
- Handle IOException in the only caller KeepaliveLoop.run(): Log that
the connection was closed, don't do any further sending, use
force_disconnect() to mark it as closed. The already existing call to
scheduleKeepaliveLoopExecution() will then notice that mConnection is
null, and schedule the keepalive loop to be re-executed after the short
WOT_RECONNECT_DELAY. Thus, we don't need to reconnect in the current
iteration.
- Use explicit "return;" statement to make it clear that we are done.
Move the logging at the end of the function into the finally{} block to
still work then.
FCPClientReferenceImplementation.run(): Reduce if() nesting