Allow `original_url` to behave as an attribute like `method` already does. Remove the `original_url` from the test to avoid confusion.

Note: working with __getattr__ and __setattr__ this way is problematic. Those attributes exist on the Url class, not AttrDict. So while this is an improvement, it's perpetuating bad behavior.
Simplify the __unicode__() method.
Pythonify the tests.

- break out and add some new tests
- use assertEqual()
- use setUp() instead of __init__()
- remove the ValueError on missing self.key that will never be reached
- use assertRaises() for exception testing
Merge pull request #14 from joncotton/tidy

Pythonify and enhance the tests.