5.1DEV__16: Ordered Map implementation

    a.k.a. `NamedValueList`

Along with the introduction of the MapPair class in
Bio-Formats, the new omero.api.NamedValue and NamedValueList
definitions provide for ordered maps, i.e. lists of
string-string pairs. Duplicates are permitted, though
null values are not.

This removes the need to use the special HQL syntax for
index/value look ups and instead standard join logic can
(must) be used.

A new marker interface `ome.model.internal.Primitive` was
introduced so that the `ome.model.units.Unit` implementations
as well as `ome.model.internal.NamedValue` can be handled in
the same way.

Currently open questions include:
 * should `NamedValue`'s value' be generic or simply a string?
 * should it be nullable? (if not, then it need not be an RType)
 * is the `NamedValue` naming better than the `MapPair` naming?
Fix flake8 error
Bump OMERO5.0__0 patch number (again)
Fix MapAnnotationTest.java

Note: null values are now disallowed.
Initial draft for m2 version history
Adding real enums comment
fixing duplicated zoom buttons
fixing roi plugin to work when embedding viewer
updating roi plugin to support dynamic name
preparing tiles before image loads
Fix versionInfo test in test_repository.py
Initial conversion code via ctors

As described on openmicroscopy/ome-documenation#1041,
this enables converting from most enums of one unit
to another.
Merge branch 'origin/develop' into ordered-maps

Conflicts:
	components/tools/OmeroCpp/test/integration/mapannotation.cpp
Move NamedValue to omero.model
Use plain string as NamedValue value
Add asMap methods for NamedValue fields

As suggested, this adds a method which produces a copy
of the `NamedValueList`. Modifications to the map are
not propagated back to the original list.
Use target unit during conversion
Fix flake8 error
adding missed libraries
fixing naming issues for scalebar and roi plugins