MODE-1880 FileSystemConnector uses incorrect ID when adding content to nt:file nodes

The local name was being used to prevent generation of filenames containing the : character, but this is unnecessary for jcr:content nodes since the content should end up on disk in the file associated with the nt:file ancestor node.
MODE-1840 CONTAINS clause should allow use of bind variables

Per the JCR 2.0 specification, the 'CONTAINS' clause in JCR-SQL2 queries
allows using a bind variable in place of the full text search expression.
This commit adds this support, including two new test cases that
verify the functionality.
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.