Prevent crash on MediaService createMediaWithAsset

Uses existingObjectWithID instead of objectID, and checks that there's
an actual post to attach the media too.

If there is no post, `completion` will be called with a `nil` media
object.

Fixes #2719