add support for svn

Summary: Basic Subversion support. There is no plugin-level caching. Relies heavily on `svn info` and `svn export`.

Reviewers: jacko

Reviewed By: jacko

Differential Revision: https://phabricator.buildinspace.com/D11
use target revision in svn plugin

Summary: Use target revision for svn fetch instead of HEAD.

Reviewers: jacko

Reviewed By: jacko

Differential Revision: https://phabricator.buildinspace.com/D37
make the curl plugin respect Content-Disposition

Summary:
The `Content-Disposition` header is what tells the browser what name
to give the file it's downloading. We weren't respecting that before.

Test Plan:
Create `test_curl_plugin.py`. We should probably separate other plugin
testing into more specific files too.

Reviewers: sean

Reviewed By: sean

Differential Revision: https://phabricator.buildinspace.com/D38
expand README.md

Summary:
I'm fond of the tagline "maybe sometimes better than copy-paste", but we should
definitely settle on something we both like.

Reviewers: sean

Differential Revision: https://phabricator.buildinspace.com/D22