A framework for secure computations with two non-colluding servers and multiple clients, applied to recommendations