minimal python3 compatability

Updated pull request for minimum compatibility with Python 3.

All unit tests passing for Python versions `2.6`, `2.7`, `3.3` and `3.4` confirmed on TravisCI. I can remove the `.travis.yml` file if CI testing isn't necessary.

I also have a Pelican [blog](http://sanghan.me) using the API, and tested that it runs correctly.

# Changelog
* Uses `six` module for main compatibility layer with Python 2 and Python 3. Added it to the requirement specification.
* All iterators and moved standard library modules changed to use `six` module versions.
* Added `requirements.txt` and `test_requirements.txt` files.