change umask only for full apps, and only if needed for log files
make deadline::remaining() optional<>
Per discussion, use "auto" where possible for task impl.  Also rename
"task::pimpl" to "task::impl" because for some reason it reads a lot better.
Also, since the class is not private, it seems fitting to remove the "p".
move task name and state to malloc'd area again for cache line reasons