ENH: Create limitation on HDF5 queries such that users do not go over RAM
#### A small, complete example of the issue

Create a "max_size" parameter for `HDFStore.select()` which stops the user from executing queries over RAM limit, or any limit set by user. At the moment, if users try to create a pandas `df` from this query larger than RAM, the script simply freezes. 

This issue was discussed on StackOverflow today: 
http://stackoverflow.com/questions/39986786/how-to-limit-the-size-of-pandas-queries-on-hdf5-so-it-doesnt-go-over-ram-limit

To quote from the OP comments: 

""
Let's say I try df = store.select('df',columns=['column1', 'column2'], where=['column1==5']) and it's larger than some limit in terms of RAM---if the limit is the limit set by the computer's hardward, the program will just freeze. Let's say I wanted to set an arbitrary limit, e.g. 4 GB. The HDF5 might be +TB or PB, so df could easily exceed RAM if a user were to query this object. What limitations could I put in place to stop "bad things" from happening? ""

``` python
# Your code here

```
#### Expected Output

Perhaps a warning could be thrown? A parameter should be set in `HDFStore.select()` which is a byte-size limit---over this limit, an error is thrown.
#### Output of `pd.show_versions()`

True for all versions. 

<details>
# Paste the output here

</details>
