Initial glossary.py tool
Formatting improvements
Add header mapping and some refactoring
Minor fixups and filter 'upgrades'
Remove separate metric keys in favor of cfg-gen

Since every property will be configurable on a per JVM
basis, there's no need to hard-code the names "indexer"
or "blitz" for the metrics bean.
Implement configuration generation for all JVMs

Each JVM in templates.xml now has a placeholder property
"REPLACEMENT:$jvmname" which is replaced with *every*
configuration property which is suffixed with the name of
that JVM. For example, if there is a property named
"omero.metrics.bean.indexer", then the indexer JVM will have
"omero.metrics.bean" set at the end of the property list,
overriding any previous property.
Remove hard-coded indexer properties

During work on EventLogQueue, the warn and error properties
were hard-coded in templates.xml to reduce noise in the log
file. With the new configuration generation, these can be
handled more elegantly.
Rename omero.mem to omero.jvmcfg
Add new search option documentation
Migrate glossary.py to omero.install.config_parser
Expose config_parser via bin/omero config parse
Expose other config_parser methods
Fix minor grammatical issue
Use backticks around val
Add key=value default printing (as default)
Rename *_total memory properties

use_total -> system_memory
max_total -> max_system_memory
min_total -> min_system_memory
Update unit tests
Modify tests to test min/max overrides

Previously {min,max}_system_memory wasn't being tested
Change min_system_memory to 3414 (so default blitz heap 512)
Print '(empty)' for unset values