[#79063] Instrument utilization report bugs

Biggest issue is in to `to_hours` because it would take `30 / 60 = 0` using integer math. Switching to floating point math caused all sorts of display issues. I ended up doing a rewrite of the instrument utilization reports and instrument day reports and extracting them into their own classes.

There's more cleanup that could be done, but I've already spent an excessive amount of time on this bug. I'd also like to clean up (and speed up) the report controller specs now that I've extracted most of the actual reporting logic into their own classes at some point.