compound_key was ignoring key for RepeatingWidget

Whenever RepeatingWidget or subclasses were used with a "key" parameter the children keys were actually generated on ID instead of key.  This fixes the issue and provides a test unit to prevent regressions.