Read_HDF with nrows=[small-number] takes Much Time and RAM
Using Python 3.5.2 and Pandas 0.18.1

I find that sampling a large HDF5 file using the nrows parameter takes far more RAM and time than sampling the first n rows by pulling the first n indices using a where statement.

Minimal Code Example:
```

store = pd.HDFStore('data_path/hdf_store.h5')
select_indices = np.arange(1000)

time1 = time.time()
train_date_hdf = store.select('table_name', where=select_indices)
time2=time.time()
print(time2-time1)

time1 = time.time()
train_date_hdf2 = pd.read_hdf(store, 'table_name', nrows=1000)
time2=time.time()
print(time2-time1)

```

Output is:

> 0.10559678077697754
> 84.43739724159241

In addition to the much longer time taken by using the nrows parameter, this small sample of a large table also spikes my RAM from 20% to 97% on my machine, which has 8GB of RAM. Whereas reading 1000 rows by selecting 1000 rows by index with a where clause doesn't even use 1% of my RAM. 

Would there be a downside to having nrows=n be implemented by pulling the first n indices in a where statement by default?