ENH: Better error w/ line num for bad column count in np.loadtxt()

Adds more explicit error handling in line parsing loop.

The change is from the patch supplied in #2591. The unit test supplied in the patch was enhanced to additionally assert that the exception message contains the line number.