fixed a flaw in the ID generator - System.currentTimeMillis() is not absolutely synchronized across threads.  Also we would have trouble if our uniquifier ever rolled over.

Signed-off-by: gburgett <gordon.burgett@gmail.com>