Make FileChannelProvider package-scope
Add active rotation support to PathDestination

- Add ActiveRotationSupport interface
- PathDestination blocks until no batches are outstanding
when postRotate is called.
Initial implementation of ActiveRotationRegistry

An ActiveRotationRegistry manages a set of
ActiveRotationSupport instances, and provides a Runnable
event that calls postRotate on each registered instance when
run
Add a contains method
Improve ActiveRotationRegistry

- Allow instances to unregister themselves when they are
closed.
- Make it easier to add an instance to the registry in a chained
call by making the add method generic.
PathDestination is registered and unregistered

- OpsLoggerFactory registers PathDestinations when creating them.
- PathDestination unregisters itself when closed.
- OpsLoggerFactory passes a reference to the registry when creating a
PathDestination so it can unregister itself.
Make support methods private
Add active rotation support to OpsLoggerFactory

- Calling refreshFileHandles will guarantee that no more writes
will occur to any log file renamed or moved before the method
is called.