"Let’s assume, Alice, Bob, Charlie and Dennis have common funds. We want to be able to construct a valid transaction if only two of those agree."
common funds where ? in whose account ? in one of their own accounts or a separate account?
A separate account.
agree how, what does that mean? , whats the procedure of agreeing on a transaction ? how those separate authorities communicate about on what to agree?
how many here understand and successfully implements this, anybody ? I need help
For example, let's say that separate account is "our-account", they want to send 10 BTS from the account to abit(my account). None of them would be able to do it by using the "transfer" API (which is the current GUI using to do transfers), since any one of them hasn't enough permission to do it. But any two of them have enough permissions.
Instead of the "transfer" API, they need "propose proposal" and "update proposal" APIs.
Alice make a proposal: let's send 10 BTS from "our-account" to abit, sign the proposal with her key. If Bob or Charlie or Dennis agree, he add his signature to the proposal, so the threshold reached. When the time defined in the proposal arrives, the proposal will get executed. If nobody else agree what Alice tried to do, they can ignore the proposal so it won't get executed at any time, or they can actively "refuse" the proposal.
//Edit:
My English is not so good, as I don't know what are the differences between "permissions" and "authorities". But you should know what I said above.