Webclient: new event pre_send_request (#486).

Allows plugins to investigate and manipulate a request before it is send to the server.
One "request" argument is passed to the handler, an object with 4 properties:

    method:     # "GET", "PUT", "POST", "DELETE" (string)
    uri:        # absolute path including query parameters (string), e.g. "/core/topic/2695?fetch_composite=false"
    headers:    # the headers as key-value pairs (object), possibly empty
    data:       # the message body, possibly undefined

Close ticket 486.