22152 support hash for download attachment (and Pull #32 write directly to disk)

Applied modified version of [Pull Request 32](https://github.com/shotgunsoftware/python-api/pull/32) as an option to `download_attachment()`

Added support for passing in a dict as main parameter to `download_attachment()` while maintaining backwards compatibility for passing in an `int` (with or without keyword)

tests.