Correctly handle reads of a partial header.  #45

If a partial header was read, we previously did not return to the
poll loop.  Instead, a read into the data buffer was attempted.  If
that read actually succeeded (that is, a packet arrived between the
two read calls), then the next attempt to read the header resulted
in garbage size/offsets being attempted.

The fix is to simply check for a partial header read and return to the
poll loop immediately if one occurred.
Implement staticpreload and staticredir to handle in-memory
and off-site custom static content also with third-party
n2n translator (like Rucio or LFC)
Revert the default secretkey to one that prevents the daemon from starting
[XrdCl] Add missing header
[XrdSys] Fix a race in the LinuxSemaphore
Allow testing of undefined set/env vars via if-else-fi (new feature).
Update notes for defined test.
Fix selection of a server when a DNS entry resolves to more than one.
Fix null insertion of hostname in error message when open fails.
Update notes on the selection and message fix.
Correct pthread_cond_timedwait() time calculation and error handling.
Update notes for cond_timedwait() patch.
[XrdCl] Honor request timeouts when processing kXR_wait
Add flag to indicates a secondary copy of a file exists.
Update notes for new status flag bit.
[XrdCl] Make sure to propagate username and password when redirecting
[XrdCl] Add backup bit
[XrdCl] Make xrdfs process the backup bit
Provide the filesystem plugin a way of creating a session storage area.
Update notes on creating a session variable.