Initial work for supporting python 3 (>= 3.3).

Signed-off-by: David Black <dblack@atlassian.com>
Merge pull request #6 from dbaxa/python_3_support

Initial work for supporting python 3 (>= 3.3).
instead of writing a string to a buffer api (in python 3) write a buffer.

Signed-off-by: David Black <dblack@atlassian.com>
_need_compat_layer is not required in python 3.

Signed-off-by: David Black <dblack@atlassian.com>
Merge pull request #7 from dbaxa/python_3_support

More Python 3 support changes.
Add tox.ini; make .travis.yml use it
Merge pull request #8 from msabramo/tox

Add tox.ini; make .travis.yml use it
Added coverage reporting.

In the process, I removed tox as it made things so much more complex for me.
Delay importing sys.getrefcount until needed

This makes it possibly to at least install on PyPy

Addresses: GH-4 ("pypy compatibility")
Merge pull request #9 from msabramo/delay_sys_getrefcount_pypy

Delay importing sys.getrefcount until needed
Change / to // (integer division) in several places

This fixes a bunch of bugs and test failures in Python 3, which uses
"true division" for /
Merge pull request #10 from msabramo/use_integer_division_for_py3

Change / to // (integer division) in several places
.gitignore: Add *.egg-info
Add back tox.ini for tox

This time with support for measuring coverage.
Ability to test quickly across multiple Python versions is crucial for
working on Python 3 compatibility...
Merge pull request #11 from Byron/reintroduce_tox

Add back tox.ini for tox
Deal with lack of `buffer` in py3
Merge pull request #12 from msabramo/buffer_memoryview_py3

Deal with lack of `buffer` in py3
Fix 2 instances of "containnig" => "containing"
.travis.yml: Allow py33 to fail, add py34, etc.
Use bytes() instead of str()

bytes() is more accurate and is actually correct in Python 3, whereas
str() is incorrect in Python 3, because it's a Unicode string.