Removing and refactoring onebox feature into a gem

We want to remove the oneboxing system from Discourse in order to isolate and release the framework for public consumption. This will reduce learning load when contributing to the Discourse framework and allow for an easier time when contributing to onebox.

  - [ ] completely remove all onebox-related logic from `discourse/discourse`
  - [ ] create and release a onebox gem w/ minimal functional usage
  - [ ] match current Discourse functionality one-to-one
  - [ ] replace previous usage in Discourse w/ new library
  - [ ] optimize for Discourse performance