New and more flexible proxy routes management

since we want the ability to connect to several endpoint at the same
time, we need to move part of the configuration on the db.

we create a new Mount table, in which we describe
* the source mountpoint (where the client will open the connection, thus
  the proxy)
* the destination host and mountpoint, (where the client' stream will be
  routed)

many routes can be estabilished, so the stream data can be easily
replicated.

We also subsitute the Buffer class and the mechanism used to read/write
on buffers. The previous mechanism was working like:

    while True:
        read from socket
        write on memory
            sleep 0.5
        read from memory

causing a high CPU cost. The new approach is based on a select()
sentinel to catch the "new data on socket" event. The sync between
readers and writers is provided by a rlock.