Split Libraries into Modules, major code cleanup

This will be a major version change, because of the sheer amount of changes.

Splits Backend library into Source, Store, and Metric. Incorporates previously hidden repo of collector metadata formatting into the Source library (see library files for collector information)

Also, changes logic of graphs controller to use `gon` for view/embedded javascript things, and `@metrics` for a erb embedded-ruby way of accessing the objects directly.

Given these changes, it removes a whole lot of logic from the LayoutHelper

Also, the settings file format has changed to have a hash of "origins", being the origin for a metric from a store, fed by a source. The rspec changes are mostly due to this setting file format change.

Further, there are a lot of documentation additions, which has been leveraged by Inch-CI to provide documentation validation, and the readme has a shiny badge to display this.

All Travis checks pass given the changes.