Share common requirements for Travis and distribution (fix #319)

Requirements that are shared for normal installations and Travis
tests are in .travis/requirements.txt. Other requirements are
specified in requirements.txt for normal installations and
.travis.yml for Travis tests.
Fix Python 2.6 error caused by Markdown updates

Markdown does not support Python 2.6 since version 2.5.0. Thus,
use Markdown<2.5.0 in Travis tests for Python 2.6.
Fix South handling in requirements

South dependency is specified in setup.py, thus it must be removed
from requirements.txt where it was accidentally added.
Refactor dependencies in requirements.txt and setup.py

Dependencies are now specified in setup.py. This is good practice
and allows using dynamic specs depending on Django and Python
versions. Thus, requirements.txt can be used for installation
specific requirements. Also, .travis/requirements.txt became
unnecessary and was removed. In addition, .travis.yml became
simpler because version-dependent requirements are already handled
in setup.py, thus it is necessary to only specify Django and Python
versions.
Fix South requirement to >=0.8.4
Remove a debugging message that was left accidentally

setup.py printed out requirements which was just for testing
purposes. It is removed now.
Fix Django v1.7 in Travis file
add traceback to reveal why errors in the testing framework occurs
Merge pull request #1 from django-wiki/jluttine-fix-requirements

add traceback to reveal why errors in the testing framework occurs
Merge pull request #321 from jluttine/fix-requirements

Fix requirements