Reworked the storage of the file location in FileHandler.

The data is now stored in an immutable FileLocator object. Changing the
location means that a new FileLocator instance is created which replaces the
old one. This approach does not require any synchronization. Atomic references
are used, so all calls are non-blocking.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1523798 13f79535-47bb-0310-9956-ffa450edef68