CLN/ENH: Refactor url methods to be Py2/3 compatible

CLN: Multiple 2/3 compatible imports/etc

CLN: Use py2/3 compatible pickle import

CLN: py2/3 compat unichr, callable

CLN: py2/3 compatible unichr

CLN: Py2/3: callable --> six.callable

import fixes to wrap it all together

fixup erroneous find/replace
CLN: Py2/3-compatible dict keys/items/values.

io/data urlencode fixups

more fixes

minor raw_input fix for python3

Fixup pandas.io for Py2/3

CLN: Pickle compat + other imports"

add pickle to py3compat

import cPickle from six.moves

fix missing pickle import

small fixups to pandas/core

pandas/io fixups

change text types

revert unicode change in tests/test_period

make addition tuple (removeme)

make get_filepath_or_buffer work

make the smallest io/stata change possible

updates to pandas/core
CLN/ENH: Add list versions of iterator methods.

py3compat now has lrange, lzip, lmap, lreduce and lfilter, which work
like the python builtins and produce lists (to make it more clear where
looking for iterators vs. containers).

list(range(...)) --> lrange(...)

CLN/ENH: list(map(...)) --> lmap(...)

remove extra parentheses around lrange

CLN/ENH: list(zip(...)) --> lzip(...)

Put range in py3compat namespace

fixup remove lreduce stuff

TST: Add tests for list and regular iterating builtins

Change six.moves imports --> util.py3compat

cleanups
CLN: Add __bool__ alias for __nonzero__

Python3 uses __bool__, not __nonzero__
CLN/ENH: Merge compat with py3compat and six

For simplicity, move the relevant portions of six into
compat and combine py3compat and compat together (given the distinctions
were relatively arbitrary already). Also switch to importing u to make
things cleaner.

CLN: Transition six --> compat

Simplify compat imports.

fix imports

remove threading from python 3
DOC/ENH: Deprecate iterkv + add docs