Adding Coverage Testing

Adding coverage testing was harder than I expected, since Component requires all files in the build be explicitly named.

 * Uses component-assets for modifying `component.json` to use `lib-cov` instead of `lib`
 * Uses coverjs for generating `lib-cov` (that is used in coverage testing)
 * Uses JSCovReporter (plus it's additional dependencies) for the UI (will eventually find a better alternative that is component-based)
 * Code adjusted so we have 100% coverage across the board :)