Log the current task name in the log! macros.

This requires doing an allocation on log! invocations
if the current task is named, since there is no non-allocating
way to access the name of the current task.

Fixes #2672
Urgh. Initially I tried to keep it, but you can't call `::std::task::name` in a static.