Refactor the surrogate keys we've used
Refactor AttributeDict

* Moves AttributeDict into warehouse.datastructures
* Refactors convert_to_attr_dict to just be the __init__ for
  AttributeDict
Declare constants for the Fastly surrogate keys
contribution.rst now says that Python3.4 is required

warehouse code uses Python3 (for example, using urllib.parse), and the only environment set in tox is Python3.4
so it makes sense to put this as a requirement in the 'contributing' doc
Merge pull request #264 from grzn/master

Warehouse needs Python 3 and it is not mentioned on the Contributing page
Add pretend and mock to dev dependencies
Merge pull request #266 from sharoonthomas/master

Add pretend and mock to dev dependencies
Merge pull request #265 from dstufft/refactor-fastly-cache

Use a Standard Set of Fastly Surrogate Keys
Updated setup.py to indicate that it runs on Python 3.4+
Merge pull request #271 from agronholm/master

Updated setup.py to indicate that it runs on Python 3.4+
Allow whitelisting the CDN for trusting the X-Forwarded-* headers
Merge pull request #272 from dstufft/x-forwarded

Allow whitelisting the CDN for trusting the X-Forwarded-* headers
Add py.test to the dev requirements
Ensure prev/next properties behave with 0 results
Hide prev/next links if they're not present

Rather than only making a link if they're present, simply hide them
entirely if they aren't.
Replaced the uses of "mock" with the standard library's unittest.mock
Added Alex Grönholm to AUTHORS
fix a minor grammar-o and update some bits for #278
Simplified the database setup in conftest.py and removed unnecessary explicit engine.connect() calls from the various db.py modules
Merge pull request #274 from necaris/no-prev-next-with-no-results

Don't show prev / next elements when they're not available