Add diagnostic module

Add a diagnostic module which gathers important information from
various parts of Yokozuna. This module will act as a first step for
sanity checking when issues occur in production. Currently it only
returns raw Erlang terms but other tools can use these raw terms to
build terminal output, GUIs, or hook into tools like Riaknostic.

This is the last step of #146.