I'm sorry you had such a hard labour and a difficult start 
Your baby does not prefer your MIL to you. You are his whole world, he knows your voice and your smell and you make him feel safe.
Fussy babies are so hard, mine was always crying, never happy and it nearly broke me. I thought she hated me, that I had traumatised her by leaving her with MIL for an hour on day 3 because I had to go back to the hospital for my post-c-section meds (had discharged myself on day 2 without meds as I couldn't stand to be on the postnatal ward any more). I thought she hated being alive, or sometimes that she just hated me. Looking back, I really wasn't very well 
Please look up High Needs Babies - it may not apply but it really helped me understand why my needy, angry little baby was so different to my friends' dopey, pliant little newborns. Always take path of least resistance - if baby likes the sling, live in it. If he won't settle in his moses basket, get him in bed with you. Focus on whatever works for you and him. Don't worry if you have to keep changing it up. Try again with skin to skin, if it doesn't work don't panic, back in the sling, try again another day. They change. What works one day won't work the next and vice versa. Don't let anyone undermine your instincts - do what feels right for you, you are the best authority on what your baby needs, you are still two parts of the same thing right now.
Take MIL's help (kindly offered) but redirect it - if she's trying to take baby from you to soothe, tell her you've got it but could she go and run you and baby a bath/grab you a cuppa/make up a bottle or whatever you need and focus on getting to grips with your baby. He will cry, they do. He's confused and learning and so are you. You'll both get there.
Honestly, your baby loves you. The day will come when he can express his preferences clearly and you won't get 2 minutes alone to pee!
This is the absolute sharp end of mothering - it will get easier I promise xx