Who sets the fees for a transaction? Can I send a transaction with zero fees? And if I could, what would happen? Would miners ignore my request? Who sets the price of fees for transactions?
Can I send a transaction with zero fees? 


You can create transaction with zero fee. You can try to broadcast it to your peers. But there is no chance that your peers will accept it and rebroadcast.


  And if I could, what would happen? 


The same as for regular transaction with fees. Ignoring zero fee is not a consensus rule, but coded in most nodes.


  Would miners ignore my request? 


Today yes


  Who sets the price of fees for transactions?


Market