BUG-1120: expose AbstractRegistration state

This patch allows subclasses to infer whether the registration has been
closed.  At the same time we optimize the memory overhead associated with
each instance by not using an AtomicBoolean, but rather a componation of
a volatile int and an AtomicIntegerFieldUpdater.

Change-Id: I672216939f002e42dddef8e6fea73ef8cd109788
Signed-off-by: Robert Varga <rovarga@cisco.com>