ascii.read `name` keyword cuts off first row

I've included the text of the file I'm reading at the bottom of this issue.  If I try the following:
```
from astropy.io import ascii 
t = ascii.read('file', names= ['a', 'b', 'c'])
len(t)
```
it says `t` has 26 rows, while the actual number of rows is 27.  However, if I instead do
```
t = ascii.read('file')
```
it says `t` has 27 rows!

I guess there's a bug here somewhere in the `names` parsing, but it's not clear where...

cc @taldcroft 


file:
```
3 3.503374e-02  27.543909 
4 4.143642e-02  23.133362 
6 5.296628e-02  17.879936 
8 6.335184e-02  14.784860 
10 7.294666e-02  12.708647 
12 8.194863e-02  11.202767 
16 9.863398e-02  9.138494 
20 1.140191e-01  7.770461 
40 1.798141e-01  4.561298
60 2.355798e-01  3.244847
80 2.860021e-01  2.496477
100 3.331038e-01  2.002067
120 3.780198e-01  1.645364
140 4.214853e-01  1.372562
160 4.640228e-01  1.155066
180 5.060299e-01  0.976168
200 5.478243e-01  0.825403
220 5.896708e-01  0.695861
240 6.317970e-01  0.582787
260 6.744042e-01  0.482790
280 7.176742e-01  0.393390
300 7.617747e-01  0.312724
320 8.068627e-01  0.239368
340 8.530875e-01  0.172213
360 9.005927e-01  0.110380
380 9.495178e-01  0.053166
400 1.000000e+00  0.000000

```