For 'm of n transactions', you can choose to have multiple signatures required to execute a 'contract'. This can be 2 out of 3 signatures, or 10 out of 100 signatures, what ever you decide to set.
This is as good (and better) than current escrow services as it is decentralised, between the contracting parties only, and can have very fine grained conditional statements or scenarios before a 'contract' is executed.
In the example you gave, the escrow could consists of you, me, and a computer program. You sign to say you've sent it, the computer program I used to open it signs it, and I also sign it when i view it. So in this scenario, you could get paid when 2/3 parties have signed, or have a staggered payment structure of 50% when 2 have signed, then the other 50% when the remaining person has signed. This would be escrow, but escrow based on the quality of a digital good.
Hope that helps :)