update HBaseSecurityUtil singleton to fix double_checked locking
Double-Checked Locking is widely cited and used as an efficient method for implementing lazy initialization in a multithreaded environment.
Unfortunately, it will not work reliably in a platform independent way when implemented in Java, without additional synchronization. When implemented in other languages, such as C++, but these barriers are not available in Java.
See url link for details: http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html