Refactor: extract builder is_valid?, move validation responsibility to instances
Refactor: extract cli object and moved error displaying and exiting to it
Refactor: change get_markdown_render to return an actual renderer
Refactor: add defaults to initialize
Refactor: extract write_page private method from write_docs
Refactor: extract set_dirs
fix: failing spec, footer and header not being set when building
Chore: cleanup specs, minor renaming and restore warning when doc assets is missing