Wesley Wiser 5bb96edbb2 Implement more detailed self profiling
Timing data and cache hits/misses are now recorded at the query level.
This allows us to show detailed per query information such as total time
for each query.

To see detailed query information in the summary pass the `-Z verbose`
flag. For example:

```
rustc -Z self-profile -Z verbose hello_world.rs
```
2019-02-07 14:15:54 +01:00
..
2019-02-05 12:45:47 -06:00
2018-12-25 21:08:33 -07:00
2019-02-05 12:45:47 -06:00
2019-02-05 12:45:47 -06:00
2019-02-05 12:45:47 -06:00
2018-12-25 21:08:33 -07:00