use shared_examples_for versioning for posts, topics

I'll be submitting a larger pull request to start thinning up the Post model, but I can at least peel this part away now.  Both posts and topics are versioned, so it makes sense for them to use shared_examples_for versioning.

All specs pass.