Optimization of the write notifier algorithm

The algorithm before the commit eca1a6d30a98861cb811cb2faf8d01334e60dd7c
could process the write events from the several notifiers, which could be
created in data transfer operation.

But now the write notifier always is in one instance, so can do following
optimizations:

* The method lookupFreeWriteCompletionNotifier() now is renamed to the
lookupWriteCompletionNotifier() and returns the pointer to the existing
notifier without creating them (by analogy with others lookupXX() methods).

* Now there is no need to control the write notifier state (to do enable
or disable) in data transfer process. The current algorithm doesn't require
it and the write notifier enabled once when port opens.

* Use the open mode flag instead of low-level events mask to create the
write notifiers. Also, this handling was added similarly to the read
notifier.

Tested the work with the terminal, the creader(a)sync, the cwriter(a)sync
examples with Qt4 and then Qt5 on Windows 7/8 with use:

* the virtual serial ports (the com0com project)
* the physical on-board serial ports and the USB serial ports

Change-Id: I8bc6a025a00dde986fde38c052d3ade4215938ec
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>