Remove unused BaseHandle.

It was used last in the the threading primitives.
Maybe the signal watcher will make use of it in the future.
Adhere to the default naming conventions: AbstractByteBufferAllocator -> ByteBufferAllocatorBase
Size down on Async/AsyncWatcher constructors.

Multiplexing the constructors is not necessary, the additional
argument in the constructor just saves the user one additional line
at best. When using the Callback Field makes it easier to
comprehend what is happening.