doc builder refactor

Hey all.
Sorry for the big PR. I started off with a few extractions here and there, and it flowered a bit more than I thought.

In short, all the SystemExits and error displaying are extracted into an CLI object and the DocBuilder now acts more like a normal ruby class. The markdown renderer has been moved into hologram/mardown_renderer.rb and a copy is retained in custom_markdown_renderer.rb.example for documentation purposes. Naturally, there are more unit tests (more to come).

Its far from perfect, but I felt like this was a good step forward for Hologram. The commits are tiny, but get a bit opinionated about halfway down, so any feedback would be very much appreciated.

Thanks!