rose metadata: fix title and length inheritance

Currently, the metadata inheritance function (in `macro.py`) does not distinguish between metadata for sections with modifiers (e.g. `namelist:foo{bar}`) and metadata for <i>variables</i> in sections with modifiers (e.g. `namelist:foo{bar}=baz`).

The code should now correctly inherit titles for these variables, and (as a side issue) improve the display of sections with modifiers. If you set a title on a section in the metadata:
```
[namelist:foo]
title=Foo Namelist
```

a section `namelist:foo{bar}` will now appear in `rose edit` as:

Foo Namelist {bar}

i.e. it includes the title.

As a side issue, variables that are themselves elements of an array (e.g. `env=SPAM(1)`) will no longer inherit the array `length` attribute - this should have been done before. They also inherit the title with the index at the end.

The changes can be seen in the config editor by comparing the new app in the current `rose edit` with the new version.

@matthewrmshin, please review.