Pytest based unittesting and multiple touchups

Ok first pull request so forgive any mistakes i am making here.

I have made a bunch of enhancements to your nice cookiecutter-pypackage template for the very nice cookiecutter tool.

Among the things i have changed is:
* Migrated unittesting to pytest. Supports many more unit test types and styles
* Some documentation touchups
* Added flake8 testing to to travis and tox
* Documentation index is now the readme with the table of contents at the end
* Added author and email metatags to generated package __init__
* Added some of the features of this template with links to the readme

I have tested all the changes on a test project and beleive it to be a good improvement in general. If any of my changes are, for some reason that is not apparent to me, bad... I apologise.

Overall the goal was to provide a more flexable package. Because of this the most major change is using pytest over the standard unittest as it supports your standard unittests and a whole lot more good stuff. The implementation of this goal, while working perfectly well as far as i can tell from my tests, could be a little nicer but I think is a great start.

Thanks for your time mate.