Include problem description on HTTP 500 returns

Say things like:

"Internal Server Error: Failed to open input file for reading."

...rather than just telling the user that *something* broke. By using a
high-level message in a panic (and logging the low-level details
internally), the user can be given enough information to not feel
completely disconnected from understanding *why* the server didn't honor
their request - and stands a better chance of filing a helpful support
ticket or bug report than would be the case if we didn't at least give
them a high-level description of the problem they encountered.