Reorganise the diagnostics project

Each metric has it's own route & package.

```
.
├── app
│   ├── Global.scala
│   ├── common
│   │   ├── DiagnosticsLifecycle.scala
│   │   └── Logging.scala
│   ├── conf
│   │   └── context.scala
│   ├── controllers
│   │   ├── Application.scala
│   │   └── DiagnosticsController.scala
│   └── model
│       └── diagnostics
│           ├── alpha
│           │   ├── Alpha.scala
│           │   ├── LoadJob.scala
│           │   └── Metric.scala
│           ├── javascript
│           │   ├── JavaScript.scala
│           │   ├── LoadJob.scala
│           │   └── Metric.scala
│           └── viewability
│               ├── LoadJob.scala
│               ├── Metric.scala
│               └── Viewability.scala
├── conf
│   ├── application-logger.xml
│   ├── application.conf
│   ├── deploy.json
│   ├── play.plugins
│   └── routes
├── logs
│   └── application.log
├── public
└── test
    └── diagnostics
        ├── MetricTest.scala
        └── UserTest.scala
```
Sync test names with the packages
Add variant and first hit to the Ad tracking
Merge remote-tracking branch 'origin/master' into ads-inview-tracking
Split out the routing of js/px/alpha
Eyeball dashboard
JavaScript errors are now routed to js.gif
Merge branch 'ads-inview-tracking' of github.com:guardian/frontend into diagnostics-reorg
Count MPU and Inline metrics
Fix environment
Add a counter for page views
Simpler way of expressing counters
first view counter is now called ads.views
Merge pull request #2362 from guardian/diagnostics-reorg

Reorganise the diagnostics project