New version
-----------

* Update elftools/__init__.py
* Update setup.py
* Update CHANGES
* Tag in git (v0.xx)

construct
---------

The construct seems to be maintained again - they also backported my Python 3
fixes. Theoretically, I can remove construct from pyelftools and use it as a
dependency instead. I don't really have time to play with this now, but may
do so in the future.

Distribution
------------

python setup.py build sdist upload

Preparing a new release
-----------------------

* Run tox
* Make sure new version was updated everywhere appropriate
* Run ``python setup.py build sdist`` (no 'upload' yet)
* Untar the created ``dist/pyelftools-x.y.tar.gz`` and make sure
  everything looks ok
* Runt 'tox' tests (with '-r' to create new venvs)
* Now build with upload to send it to PyPi
* Test with pip install from some new virtualenv
* The older download can be kept alive for a couple of days
