Linear algorithm for cleaning structural rules.

git-svn-id: http://gapt.googlecode.com/svn/trunk/source@1929 85d21ef8-add0-11de-ae77-5bfb9c5a3f34