You can now index metadata from external sources (e.g. a webservice).

The metadata fetcher system allows you to read the metadata for a
document from the filesystem, via HTTP, etc. To do so, implement a
MetadataFetcher class (see DocIndexerXmlHandlers.MetadataFetcher and the
two examples in nl.inl.blacklab.indexers) and start IndexTool with an
indexer.properties file containing a property "metadataFetcherClass"
that is the fully qualified class name of your MetadataFetcher class.
The MetadataFetcher class looks at the Lucene Document built from the
content, fetches external metadata (e.g. based on an id in the Lucene
document) and adds the metadata to the Lucene document.

This is a work in progress; it will be streamlined a bit more
in the future (e.g. prevent MetadataFetcher from being instantiated for
every document), but it works for now.
Added comments about needing Java 7 for large .zip file support.

Java 7 supports the ZIP64 format for .zip files larger than 2 GB; Java 6
and lower doesn't support this format, which will result in the "invalid
CEN header (bad signature)" error when opening such a file.

Also made sure directory entries are skipped while indexing zip files.
Slight change to how main property of complex fields is detected.

Main property is detected by looking for the property that has character
offsets, but not all indices may have those (right now they do, but in
the future they might not). In that case, the first property is assumed
to be the main property. This may not always be correct, so we may need
to improve how index structure is detected in the future.
Slight change to Eclipse project warnings setting.
OpenSonar metadata: don't throw exception if metadata not found.

If the external metadata for a document cannot be found, an error is
printed, but indexing continues as normal.