Homestyx hydra

R1:30ae22bfcff7

Fix many encoding and architecture problems in Diffusion request and URI handling

Summary:
Diffusion request/uri handling is currently a big, hastily ported mess. In particular, it has:

- Tons and tons of duplicated code.
- Bugs with handling unusual branch and file names.
- An excessively large (and yet insufficiently expressive) API on DiffusionRequest, including a nonsensical concrete base class.
- Other tools were doing hacky things like passing ":" branch names.

This diff attempts to fix…
Repository: R1 hydra
Commit Date: Mar 19 2012