use thread local random

Thread local is standard in JDK7.   Thanks to slandelle for the suggestion.