fixing the problem when retrieving values in ArrayHashMap using the
method get(Object) can cause ArrayIndexOutOfBoundsException when the map
is being modified (previous code to avoid this did not work)
make sure the timer in CachedTimeThread goes monotonically to prevent
negative measurements
Merge branch 'backport' into feature/issue_28