Flex: fix field calculation when each field is in a separate file
Remove unnecessary call to OMEXMLMetadata.setRoot

This prevents the OMEXMLMetadata state from being overwritten when
calling addMetadataOnly on a store populated with instrument data.
Flex: tidy up Dichroic and Filter ref population
Reduce the amount of original metadata

With ~10,000 planes, 5 key/value pairs per plane creates an excessively
large original metadata table.  This reduces it to 3 pairs per field,
plus 2 pairs per plane in a single file.

Conflicts:

	components/formats-gpl/src/loci/formats/in/FlexReader.java
Eliminate redundant calls to setDichroicID and setFilterID
Flex: further reduce the number of redundant MetadataStore calls
Flex: only record plane factors if at least one is not 1.0

This greatly reduces the memo file size in most cases.
Flex: remove unnecessary logging
Fix length check for adding modulo annotations
Reduce the number of resolveReferences calls
Use a mixed List/Set class to store model object references
Reintroduce one resolveReferences call

Without this call, plate metadata will not be populated upon import into
OMERO.
Set channel names consistently for all wells
Fix field counting when the fields are stored within a single file
Only use ReferenceList for true references

In particular, it should not be used when attaching Images etc. to the
OME object.
cpp: bioformats: Add resolve argument to resolveReferences
cpp: compat: Add C++98/boost std::owner_less fallback

The following implementations are supported:

- C++11 std::owner_less
- Boost boost::owner_less (newer Boost versions aligned with C++11)
- Our fallback reimplementation (older Boost versions)
xsd-fu: Use multi-index for C++ reference lists

boost::multi_index_container is used to index elements by both
index number (insertion order) and value (pointer location).
This allows access by index and fast lookup without the need
for an O(n) list traversal.

This is similar to the Java ReferenceList but does not implement
a container in its own right; it's just a specialisation of an
existing multi-indexing container implementation as a typedef.
The code generator has been updated to emit the new container
types in place of std::vector, and the C++ code templates
adjusted to use them for fast lookups.
Review setId() Javadocs for readers/writers

- expand description of setId() for the FormatReader/FormatWriter interfaces
- properly link to the interface setId Javadoc for classes overriding setId()
minor nitpick tweaks to docs