Inconsistent DataFrame.query results
Having seen some inconsistent results from processing DataFrames - literally, running scripts over static data would generate different outcomes - we were able to boil down the following example:

``` python
def compare(df):
    df1 = df.query('x < 2000')
    df2 = df.query('x < 2000')
    return df1.equals(df2)
```

If I understand correctly, calling `compare` should never return false and yet it does, randomly:

```
>>> df = pd.DataFrame({'x': range(100000), 'y': range(100000)})
>>> for i in xrange(1000):
...     if not compare(df):
...         print ('failed at iteration', i)
...
failed at iteration 10
failed at iteration 66
failed at iteration 80
failed at iteration 141
failed at iteration 149
            ...
failed at iteration 878
failed at iteration 999
```

This seems like a defect in query?

Relevant versions:

```
>python --version
Python 2.7.11 :: Anaconda 2.4.0 (64-bit)
>systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"
OS Name:                   Microsoft Windows 8.1 Pro
OS Version:                6.3.9600 N/A Build 9600
System Type:               x64-based PC
```
