Optimal blocking of two-level fractional factorial designs