Docs: Fix a typo.

Replace "heades" by "headers".
Extract common nosetest params into setup.cfg

Arguments in setup.cfg will always be loaded as the default parameters
when running nosetest
Tell setuptools to use nose testsuite

This allows us to run the full test suite (unit and functional) by using
the python setup.py test command.
Remove tests from package but keep them in sdist

1c4727a adds the tests package to the installed packages. This means that when
you install the package you end up with a top level python package called
tests. This is not what we want; this commit fixes this error.

Closes: #139
Add fixtures data to sdist

Whilst the tests dir is included in the sdist package the
tests/functional/fixtures files are not. Fix that.

Closes: #140
Include extra information into sdist package

We should be able to run tests and see licenses etc from sdist.
feat: leaner requirements, improved tox/travis support

This patch reorganizes the requirements to install only what's
necessary for using httpretty. This greatly reduces installation time
when being pulled in as a dependency for another project.

The dependencies needed for running the test suite were moved to
test-requirements.txt, and were commented to indicate what type of
testing dependency it it.

Requirements are read in using a refactored variant of
test_requirements().

The tox file and the travis yaml have been updated to reflect the
changes in the requirements files.

Finally, .travis.yaml has leveled up. It now supports running the test
suite using pypy and python 3.3, with the added benefit that a build
will still be marked as successful even if py3.3 and pypy fail.
Fix relative import
Python 3: fix parse_request_body()

Return a decoded string rather than bytes.
Python 3: Pass bytes to sendall() and friends.

Thanks to Victor Stinner for this patch.
Python 3: cast return values of map() to list().

This ensures Python 3 compatibility.
Python 3: fix parse_requestline().

The parse_requestline() function needs a text string as an input. In Python 3,
it had bytes.
Python 3: do not hardcode class name in test_request_stubs_internals().

StringIO might be either 'StringIO.StringIO' or 'io.BytesIO' depending on the
version of Python used. Do not hardcode the type in the test.
Python3: Fix test_recording_calls()

* in record_request, do not try to call json.dumps() on a dict() containing
  bytes;
* in test_recording_calls(), do not hardcode the expected version of Tornado.

There was a json.dumps(some_dict) and soe_dict had bytes values
Python 3: fix test_request_stubs_internals

In Python 2, dict(request.headers) will have all keys in lower case, while In
Python 3, the capital letters will still be there. This is because of internal
changes in the requests library. Let's use lower-case headers, so that this is
not an issue.
Python 3: fix encoding issue

In Python 3, the parse_request() method uses iso-8859-1 to decode the path, but
not in Python 2. This causes test failures in Python 3. Fix that by encoding
the path back to iso-8859-1.
Python 3: fix test_httpretty_should_allow_registering_regexes_with_streaming_responses()

This was cause by the use of text strings instead of bytes.
Python3: use bytes where needed.

Bytes were needed in some place, instead of text strings.