Add port override on command line
Time Update Throttling : update XmlDocumentEditor with new methods

Add new methods to XmlDocumentEditor for use by the time update
throttling code:

isEmptyDocument() - check if a document does not contain a root
element, or the root element contains no nodes

update setPI() - allow including PI data (remove addPI() as
those methods were equivalent to setPI() and not used)

add filterOutDocumentXPath() and filterOutElementXPath() -
these methods allow removing matched elements as well as
all parent elements up to the document root (or provided
element) that have no other children and no text
Time Update Throttling : add FilterXmlScoreBoardListener

Add new FilterXmlScoreBoardListener to allow filtering of
incoming XML doc events based on a specified XPath

Update QueueXmlScoreBoardListener to extend new filter listener
class
Time Update Throttling : Add Clock time start/end check methods

Update Clock with methods to determine if time is
at start or end of range.  Before, code had to check
clock count direction as well as comparing time against
either time min or max.  New method allows easy checking
of either provided time or Clock current time.
Time Update Throttling : Use Processing Instruction to filter time updates

Update ScoreBoardXmlListener to attach new Processing Instruction
"TimeUpdate" with value either "sec", if time changes second
value or if time is at clock start or end, or "ms" if time is
only a change in milliseconds

Update XmlScoreBoardServlet to optionally provide XPath filter to
associated listener that filters out any time updates with
"TimeUpdate" Processing Instructions with value "ms".  Default
is to filter ms updates out; this can be changed at the URL
/XmlScoreBoard/config?timeUpdate=ms when also including the
current registration id as a param.
XmlScoreBoardServlet update debugGet to print NOT_MODIFIED

Currently debugGet prints out each XML doc event that's sent to
polling clients, this adds a line print for each response to
clients when there is no change
Change from short poll to long poll

Change the XmlScoreBoardServlet and clients from short polling (server
returns immediately every time) to a long poll (server returns
immediately if changes exist or sleeps up to 10 seconds waiting for
changes)
Simplify sleeping queued XML event listener

Much of the listener is duplicated from the regular queued listener
so just subclass that and re-use its methods.  Also change to use
the documentLock's Object monitor wait/notify instead of separately
sleeping and tracking all waiting Threads (that way is racy
since the lock is released non-atomically before actually sleeping)