Updated HlsPlaylist to create grouped downloads and added a storage helper.

HlsPlaylist:
-downloads key once (assumes each segment uses the same key)
-creates grouped download operations and returns them
({name}.{offset}.ts.aes).
-the create downloa method also saves the key ({name}.key)