ParseFeed: re-use feed_key

Also, explain what we're doing with checking fingerprints.
Bucket: create S3 bucket if doesn't exist
Bucket: set headers directly
Move river.js specific stuff to riverjs.py
Add YAML subscription list parser