DisconnectedException: Don't synchronize function which modifies nothing; JavaDoc
- The synchronized likely resulted from copy-pasting the parent function which does modify stuff as skeleton.
- Add JavaDoc which explains the typical reason for not producing a stack trace.
Packet handling: simple efficiency improvements

PacketThrottle:
* add method to report multiple lost packets, so we can call that
  instead of iterating over notifyOfPacketLost. This replaces the
  original notifyOfPacketLost that is now no longer used

NewPacketFormatKeyContext:
* reduce the operations inside a synchronized(){} block to a bare
  minimum
* only keep track of the sent times of *lost* packets: if a packet is
  not lost, we still have a SentPacket that keeps track of its own sent
  time (this also reduces the amount of work in ack() for the most
  common code path)
* reduce bounds on packets to track sent time of from 16384 to 128 (we
  don't expect that many *lost* packets on short notice, and if we do,
  not having a super-accurate RTT estimate is the least of our
  problems)
* improve ack() CPU efficiency by using SentTimeCache instead of
  SentTimes (we're no longer concerned about memory given the above, so
  optimize for speed)
* use for(item : collection) wherever applicable for readability
* cleanup modified code to conform to the coding standards

SentTimeCache:
* this class replaces SentTimes
* uses a LinkedHashMap with O(1) lookup instead of a linear search
* uses more memory than SentTimes did, but we shouldn't care anymore

SentTimes:
* removed since it's highly inefficient by design and is no longer used

SentTimeCacheTest:
* new unit test for SentTimeCache
Fix exception when parsing “/*/*”

When a combination of / and * is encountered, the parser switches to
STATECOMMENT; then it continues to evaluate the current character. This
leads to the * that started the comment also finishing the comment. On
the next occurence of / and * another comment is started and the slash
that is supposed to be in the current buffer is removed; as the buffer
is empty at this time, this subsequently fails.

The fix makes sure that when switching to or from STATECOMMENT the
current character is not evaluated again, mainly by clearing out the
“prevc” variable which contains the previous character.
Add test case for fixed CSS parser bug
Merge remote-tracking branch 'bertm/simple-improvements-squash' into next
Merge remote-tracking branch 'xor/DisconnectedException-optimization' into next
Merge remote-tracking branch 'bombe/fix-theseekers-css-problem' into next