Fold pre. The reason is precisely the situation you are in. you've hit almost the perfect flop with a flush and straight draws and yet you are not too keen on losing your stack to a bigger flush or a made straight.
Also, even if you hit a straight on the turn, you could well be against a higher straight. Say a 4 hits, someone could already have 98 to beat you. If a 9 hits someone could have Q8 to beat you too. Truth be told, those two hands are not very likely, but neither would it be likely for you to have 85
If a heart comes, you're also unsure what to do.
As for the flop decision, you need to think about what hand ranges you think they could have and then use something like Poker Stove to check what your equity against those ranges is. In order to be able to do that you should probably read about starting hands per position, as once you understand this it will be much easier for you.
You are most likely up against at least a set or a higher pair (given the UTG raise pre and check raise), possibly a better flush draw, possibly other straight draws from MP3, so check what your pot odds are and what your chances of hitting a heart/straight cards are to decide whether you should call.
Shoving would have been bad because what are you trying to accomplish? You are most likely behind and I doubt you'd get UTG+2 to fold. Also, would an overshove really get worse hands to call? Basically, you'd be risking lots of chips with probably the worst hand.