IDEA: The alliance request feature used in-game is updated to allow you to specify levels of commitment. At any point, a player can still break an alliance, but if he/she breaks the terms of the accepted level, this will count towards their public TURNCOAT statistic (the % of alliances that they've broken). The TURNCOAT stat will let other players know how trustworthy they are.
[NOTE: These levels are just suggestions. Feel free to suggest others or different approaches]