Add support for nested menus

It is now possible to have menus within menus. The nesting depth is
not restricted (except for memory and useability).

Configuration support has been added for JSON and ssh/config
configurations.

JSON configurations simply nest the host entries as deep as required.

For the ssh/config configuration the Host name can now have multiple
'/' separators. The name is splitted among the separator, resulting
in the menu levels. The last level corresponds to the name of the final
menu entry for the actual connection.

However you can now also configure more data into the ssh/config file.
It is possible to add key/value pairs within a Host section using
comments:
    Host work/servers/gandalf
    HostName gandalf@example.com
could also be written as:
    Host gandalf
    # shuttle.name = work/servers/gandalf (webserver)
    HostName gandalf@example.com
The resulting menustructure would then be
    work -> servers -> gandalf (webserver)

Currently shuttle.name is the only supported key/value pair.
Merge remote-tracking branch 'origin/fen-submenu' into fen-submenu