Lot of changes: removed finally blocks to handle the returns correctly,
changed the class for the lock, added methods to access to lock, unique
return call

Use of the class java.util.concurrent.locks.ReentrantReadWriteLock
instead of
org.owasp.webscarab.util.ReentrantReaderPreferenceReadWriteLock.
Change all calls related to locking to dedicated methods to permit an
easier debugging if needed.
Removed exposition of the lock out of the class.
Changed return calls (one by method, not several), for most of the
methods.