client-lib: Update the client code to detect fork.

    The client library was not properly checking if a fork had
    occured in the application using it. Therefore this would cause
    the client library to use the same communication channel as its parent process.
    Furthermore, this behavior was not conformant with the PKCS#11 standard.
    A global variable tracks the PID and when a fork is detected, the PID is
    updated in the child, previous ressources are freed and a new communication
    channel with the server is established.