Unicode fixes for python 3 in office2john
Removed an overzealous optimization: we must record the entry and length in
fix_state() despite of them not changing in inc_key_loop(), because
save_state() might be called before the very first call to fix_state() from
inc_key_loop() and in that case it must record a previous entry and length.
Exclude sending of signals to child processes in DJGPP builds (untested)
If we're the main process for a --fork'ed group of children, leave our .rec
file around until the children terminate
Merge pull request #293 from ShaneQful/office_unicode

Unicode fixes for python 3 in office2john
Portability issues fixed. fork/kill are not standard. They are *nix specific.
I have taken it out of VC builds, and also removed the options from DJGPP
builds.  I would imagine that mingw also would have problems, but I do not
have a build env under that any more, so did not add defines for it.
Merge branch 'master' into bleeding-jumbo

* master:
  If we're the main process for a --fork'ed group of children, leave our .rec file around until the children terminate
  Exclude sending of signals to child processes in DJGPP builds (untested)
  Removed an overzealous optimization: we must record the entry and length in fix_state() despite of them not changing in inc_key_loop(), because save_state() might be called before the very first call to fix_state() from inc_key_loop() and in that case it must record a previous entry and length.

Conflicts:
	src/inc.c
	src/signals.c
SHA-256 incorporated into sse-intrinsics.c - and a test format for it.
Mute Keccak warnings on AVX builds.
Mute Keccak warnings on XOP and other builds.
Hopefully mute last Keccak warnings.
Unify MPI with fork. Still not tested at all.
Keep the .rec file opened (and locked) while the main process is waiting for
its children to terminate.  Close and remove it afterwards, unless the session
is interrupted.
Implemented and made use of rec_done()'s ability to skip the rec_save() call
and to close the file, yet not remove the file
Check the exit status of child processes to decide whether it's OK to remove
the .rec file of the main process
Repaired --status of --fork'ed sessions.  This was broken when
rec_name_complete() was changed not to add the node number into filename used
by the main process even for high node numbers.  We now temporarily claim that
we're not the main process, in order to get rec_name_complete() to behave like
it would in a child process, without wasting resources to actually create child
processes (not needed for mere status reporting).
Added "const" to the format argument of log_event()
In rec_restore_args(), treat non-existent files in child processes as non-fatal
errors.  With --restore, terminate the process with zero exit code so that the
main process of a restored session where some of the children had previously
completed their share of work doesn't unnecessarily keep its .rec file around.
With --status, print a message and return to the caller so that status of
further nodes may be printed.
Added the "Main process session completed, but some child processes failed"
message, to be printed in this special case
When an OpenMP-enabled build is running against a format lacking OpenMP support
and the would-be thread count is greater than 1, suggest the use of --fork with
the corresponding number of processes