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
Deprecate unused type- classes
Deprecate old h utility class
Deprecate old clearfix utility class
Remove u-underline unused class
Remove legacy h4 styles
Add wait in top stories test
Merge remote-tracking branch 'origin/master' into ads-inview-tracking
Split out the routing of js/px/alpha
Eyeball dashboard
Amend aa test to include 4 variants
JavaScript errors are now routed to js.gif
Display staff badges on appended comments using semi-hack template method
Merge branch 'ads-inview-tracking' of github.com:guardian/frontend into diagnostics-reorg
Merge pull request #2360 from guardian/a-a-test

Amend aa test to include 4 variants
Uppercase test name
Count MPU and Inline metrics
Fix environment