Move the upserting of posts from JSON to PostUpserter.

Also, simplify JSON processing by not blindly importing `domain` and `slug`; instead, these will be in inferred from the provided post URL. We're now just checking this URL to have the same host as the source URL used to fetch the JSON, trusting individual nodes not to much up their own data. :-P