I can't overstate how useful it would be to at least restrict write access to certain branches. Bitbucket has had it for a while now [1], so I'm surprised GitHub haven't followed suit.
I don't know if I would use branch restriction, it sounds like an anti pattern for the git philosophy (SVN file locks, anyone?). Why would I commit to someone else's branch, unintentionally? I think that a "gentlemen’s agreement" as your link states, is more than enough. Can you provide a use case where this feature is useful? Do you use it often in your workflow?
I can see it being used for autodeployments on a "stable" branch and no deployments on other develop branches, and the stable branch being write-restricted.