MODE-1880 Minor improvement to generation of IDs inside the file system connector

When the file system connector writes nodes to the file system, a warning
is logged for every node (other than 'jcr:content' nodes) contain
a namespace in their name. This is because the file system connector
turns only the local part of the node name into the file/folder name.
MODE-1882 Corrected file system connector's use of binary values

The file system connector was using the (built-in) UriBinaryValue class
for its binary value objects. However, the DocumentTranslator was
not handling this particular BinaryValue subclass, so the UriBinaryValue
instances were merely written as stored BinaryValue instances. Thus,
when reading content via the connector, the DocumentTranslator had only
the SHA1 and size and thus created a StoredBinaryValue. The result
was that the Binary value would resolve its content from the BinaryStore.

A test case was added to replicate the problem.

With this change, the UriBinaryValue extends the abstract ExternalBinaryValue
class, which is handled by the DocumentTranslator and which is already
used by the Git connector with GitBinaryValue. However, a few changes
were required so that ExternalBinaryValue distinguished between the
connector-specific "id" and the SHA-1 binary key. (These are the
same for the Git connector, but the file system connector needs
to use a URL for the "id".)

The test case passes with these changes.
MODE-1884 Added more safety to MS Office sequencer to not cause NPEs

The MSOfficeMetadataSequencer was modified to use private helper methods
to set properties, and those helper methods not check for null values
before setting the properties.

Also changed the JcrValueFactory and BinaryStoreValueFactory to
better handle null parameters.