for abstract types, allow alt. type declaration

this lets { type:ham, cheese:yellow } style sandwiches (objects)
be declared like { ham : { cheese : yellow } }

this can be nice in some cases, but it particularly shines when
combined with alt. json syntax ( eg. hocon )

here is a simple hydra job that uses this sugar + hocon:

```
type: map

source.empty.maxPackets: 100000

map.fields: [
    { from: counter,  filter { count      { format="0000000" }}}
    { from: DATE_YMD, filter { time-range { offsetDays=-1, now=true, format=YYMMdd }}}
]

output.tree {
    paths.root: [
        { const.value: empty }
    ]
}
```

and the same without this sugar allowance:
```
type=map

source.type=empty
source.maxPackets=100000

map.fields=[
    { from=counter,  filter { op=count, format="0000000" } }
    { from=DATE_YMD, filter { op=time-range, offsetDays=-1, now=true, format=YYMMdd }}
]


output.type=tree
output {
    root.path=TREE
    paths.TREE=[
            { type=const, value=empty }
    ]
}
```

ultra-compact variant
```
type: map

source.empty.maxPackets: 100000

map.fields: [
    { from: counter,  filter.count.format: "0000000" }
    { from: DATE_YMD, filter.time-range { offsetDays=-1, now=true, format=YYMMdd }}
]

output.tree.paths.root: [
    { const.value: empty }
]
```