Refactor and document nrepl-client.el

Refactor:

   - general code and documentation cleanup
   - use -- convention for internal function of very limited use
   - inline several very short internal functions
   - use systematic naming convention for requests. Namely nrepl-send-request and
     nrepl-send-sync-request for workhorse functions and `nrepl-request:XXX` and
     `nrepl-sync-request:OP` for requests of type "OP".
   - rename `nrepl-send-request-sync` into `nrepl-send-sync-request`
   - delete `nrepl-log-messages` command

Reorganize nrepl-client.el in functional chapters:

   - Bencode
   - Client: Process Filter
   - Client: Initialization
   - Client: Response Handling
   - Client: Request Handling
   - Server
   - Utilities
   - Connection Buffer Management
   - Connection Browser

Document the nREPL communication process.