explicit PersistentAtomicReference interrupts

Interrupting a thread blocking on PersistentAtomicReference i/o will now cause PersistentAtomicReference to throw an InterruptedException instead of a RuntimeException. This enable the agent to better deal with interruptions.