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.
[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.
xrootd: new switch -L for protocol library path

The xrootd executable allows to load an alternative default protocol whose name
is defined by the switch -P. The path to the library with the implementation of
the alternative protocol had, so far, to be specified in the configuration file.
This patch adds the possibility to specify also the library path on the command
line using the switch -L. So, protocol 'myprot' implemeted in /path/to/libmyprot.so
can now be also started with

       $ xrootd -P myprot -L /path/to/libmyprot.so
[XrdCl] Make sure to use XrdSysPlugin (versioning) when loading security plugins