26902 Initial code review

Created a branch from the very first commit to be able to review the whole code written so far.
This does not mean that a merge should be done after the review is done, this is a "dummy" pull request.
Looking at the close method comments, I wonder if a try / finally is not needed here, ensuring WireTapClientUninit is called if anything fails after WireTapClientInit() has been called ?