Extract Associations into a module
Move Authentication into a module
Extract Reports into a module

Just like `has_many` and `has_one`, use meta-programming to define
which reports to associate to every resource in the appropriate class.
Move spec/associations to spec/requests

Also rename the subfolders to better indicate which kind of
authentication is required to run each set of tests.
Let channel.views return Float, not Integer

Float is what YouTube returns for every report, so we are better
off sticking to that, in order to have coherence along the reports.
Extract Reports collection into Module

Using meta-programming, there is no need to define a Collection for
each Report metric (views, earnings, ...).

Also, Yardoc @!macro allows to write documentation once for all the
expanded methods.
Add five new analytics reports to Channel

They are comments, likes, dislikes, shares, and impressions.

Note that the specs have duplicate code which can be removed
using RSpec’s shared examples.
Merge branch 'more-metrics'