Use finite cookie leases

Previously network cookies were leased indefinitely. If a problem occurs
where cookies weren't released on job exit it could lead to all cookies
being reserved. This change results in cookies being leased for a set
period of time so they will automatically be released after the
time expires.
Ran autogen.sh
No code change, just moving static functions above extern functions and
labeling the extern functions as such.
put extern in front of function definitions
have the cookies' file handle the times the functions should be called.
Add cleanup_lease_extender
Move functions header into #ifdef
Small updates to Cray's contrib directory.

* Don't propagate virtual memory by default since DMAPP and others require
  unlimited
* Use default performance governor to match current Cray systems
* Only allocate 2 craynetwork resources to KNC nodes since they have half
  the network resources of other nodes.
The Cray OOM killer uses the cgroup parameter expected_usage_in_bytes,
which should just be set to the same value as the memory limit. This
patch sets that parameter.
There was a bug with the aeld integration where if the connection was
down (like during a sync) new events wouldn't be added to the event list.
This patch fixes the bug.
There was an error message in task/cray which was actually harmless,
but confusing users when it appeared in job output. This patch changes
it to a debug message.
There are some new warnings in the SLES 12 gcc which resulted in build
failures. This patch fixes the build.
Documentation for new switch plugin functions

This was missed in the original Cray GA patch set. It is some html
documentation for the new switch plugin functions job_step_pre_resume,
job_step_post_resume, etc.
Skip alpscomm prologue and epilogue for batch steps

The alpscomm prologue and epilogue don't need to be called for batch
steps, so this patch skips it.