title: Concatenating keys in nested dictionary
body: <p>Given a nested dictionary:</p>
  
  <pre><code>nested = {
      'A': {
          'B': {
              'C': 'C val',
              'G': 'G val'
          },
          'D': {
              'E': {
                  'F': 'F val'
              }
          }
      }
  }
  </code></pre>
  
  <p>I want to recursively concatenate the keys of the dictionary, except for the "final" key-value pairs, and put the concatenated keys in a new dictionary, like so:</p>
  
  <p><code>expected = {
      'A:B': {'C': 'C val', 'G': 'G val'},
      'A:D:E': {'F': 'F val'}
  }</code></p>
  
  <p>How can I make such a function, without knowing the structure of the nested dict beforehand?</p>