Refactor OneBox::Engine::DiscourseLocalOnebox into smaller methods

In order to improve the CodeClimate score, I tackled one of the service objects in `lib/` and extracted it into separate renderers and helper methods.

https://codeclimate.com/github/pithyless/discourse/compare/refactor-discourse-local-onebox

Please let me know if these kinds of refactors are appreciated and if there is something that does not fit the Discourse style guides.

I realize it's not a very small diff, but my intention was to make the flow of control more explicit, while not changing any of the existing logic, branches or hacks.