Refactor Blog to remove methods containing business logic

Issue #1514 

Pulled out all of the methods from Blog that contained business logic - most of which were class methods.  A few things remain, and a few TODOs were added to remind future selves of work required for the next major refactor.

Until every service is refactored there may be some cross-context contamination (Post mergePosts for example).  No deadlocks were found and no merge issues from the contexts so it seems stable.  Anywhere the service was added to replace the call to Blog the main context (or current context) was used so ideally nothing should change from how the contexts were being handled before.