BUG: encoding of categoricals in hdf serialization
closes #10366 
replaces #10454 

cc @cottrell 

I changed this a bit to explicity check for bytes, and doced this a bit.

Seems ok to me, but can you check for 
 nosetests -v pandas.io.tests.test_pytables passed on my local python 3.4.3 build. I see other errors popping up as in the travis tests.
 thanks @cottrell 
