New Contact class (2)

I rearranged the code as you adviced.
PreSolve & PostSolve events in place of contacted etc.
Also I tried to keep #include directives in abc order )