Parse jvmcfg service names from the end

With the addition of service-specific support in
`bin/omero config`, the previous jvmcfg naming
scheme of `omero.jvmcfg.$SERVICE.$PROPERTY` was
perhaps confusing. Now, the service name is parsed
from the end: `omero.jvmcfg.$PROPERTY.$SERVICE`.
Limit the number of elements in jvmcfg keys

`bin/omero admin jvmcfg` was printing values
for the wrong service. E.g.:
```
   bin/omero config set omero.jvmcfg.perm_gen.indexer 2g
   bin/omero admin jvmcfg
```
listed `blitz=Settings({"permgen.indexer": "2g"})`.

Now we assume that all the jvmcfg properties are a single
dotted element long so that we can strip off the remaining
services.
Improve output of `bin/omero admin jvmcfg`

 * Empty settings are now `Settings()` rather than
   `Settings({})`.
 * Empty settings are omitted from jvmcfg
 * Setttings values follow other values.
Respect user-specific heap_size in percent strategy
Merge pull request #2874 from joshmoore/rebased/develop/swap-jvmcfg

Swap jvmcfg (rebased onto develop)