Add ability to restrict squash commits in certain branches

It would be nice to add the ability to restrict squash commits to certain branches.

For example, when we do CE => EE, we want to make sure the commit log stays in tack so that we can reduce conflicts for RMs

/cc @victorwu