removed synchronization in Header::getID (#216)
removed synchronization in Header::getID (#216)

* removed synchronization in Header::getID

Header::getID synchronized on a static field causing unnecessary locking
especially when the ID field didn't need to be generated. As per the
discussion in #215, this was due to a desire to have the ID generation
be lazy, which is no longer needed.

This commit changes the ID generation behavior so the ID is either
explicitly supplied to the constructor, or generated by the constructor
using the same SecureRandom instance. This makes the getID method a
simple getter with no need for synchronization

* Header constructor - check that ID is in range

* fixed formatting
dnsjava/dnsjava