title: pandas.DataFrame.load/save between python2 and python3: pickle protocol issues
body: <p>I haven't figure out how to do pickle load/save's between python 2 and 3 with pandas DataFrames. There is a 'protocol' option in the pickler that I've played with unsuccessfully but I'm hoping someone has a quick idea for me to try. Here is the code to get the error:</p>
  
  <p>python2.7</p>
  
  <pre><code>&gt;&gt;&gt; import pandas; from pylab import *
  &gt;&gt;&gt; a = pandas.DataFrame(randn(10,10))
  &gt;&gt;&gt; a.save('a2')
  &gt;&gt;&gt; a = pandas.DataFrame.load('a2')
  &gt;&gt;&gt; a = pandas.DataFrame.load('a3')
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "/usr/local/lib/python2.7/site-packages/pandas-0.10.1-py2.7-linux-x86_64.egg/pandas/core/generic.py", line 30, in load
      return com.load(path)
    File "/usr/local/lib/python2.7/site-packages/pandas-0.10.1-py2.7-linux-x86_64.egg/pandas/core/common.py", line 1107, in load
      return pickle.load(f)
  ValueError: unsupported pickle protocol: 3
  </code></pre>
  
  <p>python3</p>
  
  <pre><code>&gt;&gt;&gt; import pandas; from pylab import *
  &gt;&gt;&gt; a = pandas.DataFrame(randn(10,10))
  &gt;&gt;&gt; a.save('a3')
  &gt;&gt;&gt; a = pandas.DataFrame.load('a3')
  &gt;&gt;&gt; a = pandas.DataFrame.load('a2')
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "/usr/local/lib/python3.3/site-packages/pandas-0.10.1-py3.3-linux-x86_64.egg/pandas/core/generic.py", line 30, in load
      return com.load(path)
    File "/usr/local/lib/python3.3/site-packages/pandas-0.10.1-py3.3-linux-x86_64.egg/pandas/core/common.py", line 1107, in load
      return pickle.load(f)
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xf4 in position 0: ordinal not in range(128)
  </code></pre>
  
  <p>Maybe expecting pickle to work between python version is a bit optimistic?</p>