Per #9999 revert the revert changing so columns are only tested for empty? as opposed to blank?

This is both faster and more correct, added tests to make sure this is not reverted again.