Cannot write large DF to HDF
I am seeing soem wrong-size argument when trying to write a large-sized DF to HDF.

``` python
import numpy as np
import pandas as pd

def generate_large_df(n,m):
    cols = {}
    for i in range(m):
        if i % 3 == 0:
            temp = np.random.randn(n)
            temp *= 2**32
            temp[n//2:] *= 2**32
            cols['col_' + str(i)] = temp
        elif i % 3 == 1:
            temp = 2 * (np.random.rand(n) - 0.5)
            temp *= 2**32
            temp[n//2:] *= 2**32
            cols['col_' + str(i)]  = temp.astype(np.int64)
        else:
            str_len = int(np.ceil(10 * np.random.rand() + 1))
            temp = np.tile(np.array('A' * str_len),(n,))
            cols['col_' + str(i)]  = temp
    return pd.DataFrame(cols)

# Done to avoid memory errors
df = generate_large_df(8e5,25)
df = pd.concat([df]*10,0)
df = pd.concat([df]*10,0)

df.to_hdf('test.h5','test')
```

This code produces:

```
---------------------------------------------------------------------------
OverflowError                             Traceback (most recent call last)
<ipython-input-18-406bc2726c38> in <module>()
----> 1 df2.to_hdf('test-2.h5','test',mode='w')

/data/unixhome/ksheppard/anaconda/lib/python2.7/site-packages/pandas/core/generic.pyc in to_hdf(self, path_or_buf, key, **kwargs)
    936 
    937         from pandas.io import pytables
--> 938         return pytables.to_hdf(path_or_buf, key, self, **kwargs)
    939 
    940     def to_msgpack(self, path_or_buf=None, **kwargs):

/data/unixhome/ksheppard/anaconda/lib/python2.7/site-packages/pandas/io/pytables.pyc in to_hdf(path_or_buf, key, value, mode, complevel, complib, append, **kwargs)
    268         with HDFStore(path_or_buf, mode=mode, complevel=complevel,
    269                        complib=complib) as store:
--> 270             f(store)
    271     else:
    272         f(path_or_buf)

/data/unixhome/ksheppard/anaconda/lib/python2.7/site-packages/pandas/io/pytables.pyc in <lambda>(store)
    263         f = lambda store: store.append(key, value, **kwargs)
    264     else:
--> 265         f = lambda store: store.put(key, value, **kwargs)
    266 
    267     if isinstance(path_or_buf, string_types):

/data/unixhome/ksheppard/anaconda/lib/python2.7/site-packages/pandas/io/pytables.pyc in put(self, key, value, format, append, **kwargs)
    825             format = get_option("io.hdf.default_format") or 'fixed'
    826         kwargs = self._validate_format(format, kwargs)
--> 827         self._write_to_group(key, value, append=append, **kwargs)
    828 
    829     def remove(self, key, where=None, start=None, stop=None):

/data/unixhome/ksheppard/anaconda/lib/python2.7/site-packages/pandas/io/pytables.pyc in _write_to_group(self, key, value, format, index, append, complib, encoding, **kwargs)
   1263 
   1264         # write the object
-> 1265         s.write(obj=value, append=append, complib=complib, **kwargs)
   1266 
   1267         if s.is_table and index:

/data/unixhome/ksheppard/anaconda/lib/python2.7/site-packages/pandas/io/pytables.pyc in write(self, obj, **kwargs)
   2810             # I have no idea why, but writing values before items fixed #2299
   2811             blk_items = data.items.take(blk.mgr_locs)
-> 2812             self.write_array('block%d_values' % i, blk.values, items=blk_items)
   2813             self.write_index('block%d_items' % i, blk_items)
   2814 

/data/unixhome/ksheppard/anaconda/lib/python2.7/site-packages/pandas/io/pytables.pyc in write_array(self, key, value, items)
   2577             except:
   2578                 pass
-> 2579             vlarr.append(value)
   2580         else:
   2581             if empty_array:

/data/unixhome/ksheppard/anaconda/lib/python2.7/site-packages/tables/vlarray.pyc in append(self, sequence)
    535             nparr = None
    536 
--> 537         self._append(nparr, nobjects)
    538         self.nrows += 1
    539 

tables/hdf5extension.pyx in tables.hdf5extension.VLArray._append (tables/hdf5extension.c:20849)()

OverflowError: value too large to convert to int
```

The error occurs when writing the large string block.  
