Signing improvements

Changes:

1. Added ability to generate a non-expiring signed download url, used in activity transformers
2. Consolidated signing use-cases into 3 methods: `sign`, `createExpiringSignature`, `createExpiringResourceSignature`
3. Cleaned up signature unit tests
4. Made profile pictures save to a new directory when uploaded
5. Increased default signature time where appropriate