Add an XML service for working with XML

It was converted from the XMLTools static utility class. Making it a
service ensures that all the operations have an application context,
which allows for things like easy logging.

This commit also makes the necessary changes to refactor away usages
of XMLTools, leaning on the XMLService instead as needed.
io.scif.xml: log with LogService, not SLF4J

In particular, this commit updates the ParserErrorHandler and
ValidationErrorHandler to use the LogService.
AbstractNIOHandle: remove empty section headers
NIOFileHandle: make fields private

See:
http://developer.imagej.net/coding-style#Private_over_protected_fields_and_methods
NIOFileHandle: remove unused field
Add an NIO service for working with ByteBuffers

This service addresses the same need that NIOByteBufferProvider
previously did, but in a context-sensitive way.

This commit also uses the new NIOService API as appropriate throughout
the codebase.
WIP: LOGGER -> log()