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
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.
Fix flake8 error
adding missed libraries
fixing naming issues for scalebar and roi plugins
Fix upgrade script when maps are present

The creation of the NOT NULL index column
failed the upgrade script for databases
with any maps present. By using the window
function `row_number` we can set the ordered
list according to the alphanumerical sorting
of the key.
Fix ordering of renames/updates