Migrate all debug output tasks to DebugOutput object

- This moves all remaining debug related output tasks to DebugOutput
- It maintains [Debug] block (@andrsd you/I might need to do something to get this to work with RELAP-7)
- This also formats the Material property output to match the look of the existing system information
- Improved debug output testing

(closes #3813)
(closes #2868)
This is intentional, in many of the children the filename returned by this method includes suffixes, prefixes, and exertions that are constantly changing as the simulation progresses. So, the name returned in snapshot of what the filename is at the time the method was called. So, the reference could be out-of-sync.