PY3: use six.BytesIO and six.moves.cStringIO
use .seek(0) instead of reset() for compatibility

Since I don't find docs for the .reset() method, I lookup up the source
code, and it should work just the same as .seek(0).

For reference:
https://github.com/python/cpython/blob/8eeb7e9122109f5cc71c22047d5cdd312ca770a0/Modules/cStringIO.c#L281
use io.BytesIO and cStringIO instead of six.BytesIO as suggested
fix tests by using a tempfile instead of BytesIO
get_func_args maximum recursion fix #728
Merge pull request #809 from nramirezuy/get_func_args-728

get_func_args maximum recursion fix #728
Merge pull request #803 from felixonmars/py3-port

[MRG] PY3: use six.BytesIO and six.moves.cStringIO
fix tests to account for https://github.com/scrapy/w3lib/pull/23
Merge pull request #812 from kmike/fix-w3lib-trunk

fix tests to account for https://github.com/scrapy/w3lib/pull/23
adding some xpath tips to selectors docs
renamed UserTimeoutError and ServerTimeouterror #583
Merge pull request #815 from nramirezuy/retry_timeout-583

renamed UserTimeoutError and ServerTimeouterror #583
improved explanations, clarified blog post as source, added link for XPath string functions in the spec
removes weird indentation in the shell results
Merge pull request #814 from eliasdorneles/adding-some-xpath-tips

Adding some xpath tips to selectors docs
PY3: use MutableMapping instead of DictMixin
items: Use BaseItem.__hash__ and six.add_metaclass decorator
pytest 2.6.0 is on pypi now
Add tox env for python 3.4
Merge branch 'py3-port'