SubscriptionManager.Client.sendNotifications(): Catch more specific
Exceptions

- Specify which kinds of Exception can happen instead of catching all at
once.
- Even though the specification of the function which is called in the
try{} does not allow RuntimeException it is a good idea to guard against
RuntimeException here to separate bugs of the FCP interface from having
the SubscriptionManager bug out. The sendNotifications() function here
is a better place to do that than the called notifySubscriberByFCP()
since there exist 3 implementations of notifySubscriberByFCP() already,
so there would be a lot of code duplication. Also, the
sendNotifications() is what is capable of queueing the stuff for
re-sending upon error, so it should deal with errors.
SubscriptionManager.Client.sendNotifications(): Improve logging

- FCPCallFailedException is thrown by the FCP interface if we received
an actual reply message from the client which confirms that our message
did arrive but the client had an error processing it at its side. So
this is not an error at our side and thus should not be logged as such.
We log it as WARNING instead of NORMAL because it still is a problem
which should be debugged.
- RuntimeException is not allowed by the specification of
sendNotifications() and thus always is an error and must be logged as
such.
SubscriptionManager.Client.sendNotifications(): Honor
InterruptedException

- InterruptedException was recently added to the throws declaration of
notifySubscriberByFCP(), but this function here has not been adapted
yet, so this commit does that.
- This function is usually called in a loop which sends the
notifications of all clients. Thus, the proper thing to do is to throw
it out so the whole loop can terminate.
- The following commit will deal with adapting the said loop