Refactoring, metricsData service, movement directive, metricsFilter, time periods bug fix

The monstrous `dashboardCtrl` has been defeated. It's now a tiny bunny.

A new `metricsData` service has been implemented to facilitate dealing with Google Analytics metrics.

The mechanism for calculating figure movements has been moved to an AngularJS directive. The directive has the following features:

* It watches for changes in the cell and once both figures are available, it immediately calculates the movement percentage, rather than waiting for the completion of the entire process, like before.
* In coordination with `metricsData`, it knows whether an increase or a decrease is good or bad for the metric being calculated and it reacts accordingly.

A new AngularJS filter has been implemented to deal with Google Analytics data, which is returned in raw format. In coordination with `metricsData`, this filter displays percentages with a percent sign, displays seconds in `hh:mm:ss` format, and displays quantities with commas (i.e. 2484 vs 2,484).

The specified time periods and their comparison periods were wrong. Now fixed.