Update setup.py

- Point to python-future.org as canonical URL
- Add lists of packages required for installation and testing on Py2.6
Force removal of the old build dir in setup.py

Ideally this wouldn't be necessary, but it avoids the nasty scenario
of breaking a user's Py3 installation if the user happens to run:

    python2 setup.py build
    python3 setup.py install

We may be able to get around this by using the package_dir option in
setuptools.setup()
Move all source code to src/

This may help to avoid import problems on Py3 from the local
(Py2-intended) packages (configparser etc.) shadowing the system
modules.
Modify config to expect the new project layout
Remove folder naming ambiguity for tests
Update docs: more tests
Make the src folder a package (for the same of importing src.future.__version__ etc. from setup.py)
More useful reporting of test errors with futurize/pasteurize scripts
Mention project folder restructuring in What's New
Try asking travis-ci to install the package before running tests
Restore previous environment passed to futurize.py and pasteurize.py when running tests. Also add more output for debugging.
Try again to make travis-ci install the package before running tests
Tests: Mark three tests as xfailing only on PY2
Clean up .travis.yml