Add ability to download raw profiling data

Summary:
This allows the raw data collected by the instrumented profiler to be
downloaded, allowing further analysis using tools like kcachegrind/qcachegrind.

{F9120}

In theory this allows production profiles to be analyzed locally, though that
would rely on the assumption that data serialized using `marshal` on production
would be deserializable using `marshal` on our dev machines.

Test Plan:
1. Set the profiler to use the instrumented profiler. Load a page.
2. To the right of the "Profile" link to expand the profiling information, you
   should now see a "Download raw profile" link. Click this link and download
   a profile.

Once you have the profile locally, you can load it with the python `pstats`
module, or if you want to load it up in cachegrind, do the following (it might
take a while):

```
brew install graphviz qcachegrind
sudo pip install pyprof2calltree==1.3.0
```

(Woohoo, I got my PRs merged on pyprof2calltree to make it work with qcachegrind!)

Assuming your profile ended up in `~/Downloads/abcd.profile`, load the profile
up like this:

```
pyprof2calltree -k -i ~/Downloads/abcd.profile
```

Reviewers: ben

Reviewed By: ben

Differential Revision: http://phabricator.khanacademy.org/D5279
Merge pull request #64 from udacity/limit_memcache_size

Abort rather than blow up when the request object is too big
Merge remote-tracking branch 'upstream/master'