Rewrite the sdk to use the requests library.

This commit is based on
<https://github.com/mvid/facebook-sdk/commit/3e1d12c2df011ac533eab1136329cfe1befdd4d4>,
but contains a number of important changes:

  - moves the new 'requests' requirement from a requirements.txt file
    into setup.py
  - keeps the original order of methods in the code, so that the diff is
    easy to understand
  - removes unnecessary whitespace and formatting changes
  - backports important changes pushed to master since @mvid created his
    commit
Fix issues with get_app_access_token.

Removes unneccessarily long and relatively information-free docstring.
Changes function output and testcase so that they pass again.

There are still issues with this function, but they will require larger
architectural changes (e.g. storing the application ID and secret in the
GraphAPI object).
Simple json module import. Fixes #106.

We now just use the built-in json module, instead of mucking around with
simplejson. This commit also removes the _parse_json shim.
Use setuptools instead of distribute.

Distribute does not support "install_requires":
<http://stackoverflow.com/a/10686196/113527>.

Since Setuptools and Distribute have merged (see
<http://pythonhosted.org/setuptools/merge-faq.html>), this should not
cause any loss of functionality. Your virtualenvs may need to be
updated, though.
Slightly better Python 3 compatibility.

  * Import parse_qs correctly.
  * Fix syntax error with exceptions.
  * Update access token test to work with both Python 2 and Python 3.
Update classifiers & Travis config w/ Python 3.3.
Update version information.
Make version DRY. See PEP 396.
Merge development branch into master.

Long-lived development branches do not work on Github. Pull requests
based on outdated master code do not help anyone.

In the past, this project has tried to make master usable. Note that
this introduces tons of backwards-incompatible changes, so if you are
currently using HEAD in production, you're going to have a bad time.