The main goal of this commit is to show where which module should be called.

Outlined the position of the main calls and modules, removed Tests project from the solution (No time to fix compilation errors), commented all places where I have compilcation errors.

Implemented middleware.
Partially replaced socket by the DuplexStream.