Program a function outline-copy which makes a deep copy of a list structure.
     Non-list data in the list should all be translated to a symbol, such as '-.
     You should be able to handle both proper lists and improper lists.
 As an example:
 
  (outline-copy '((a b c) (d e . f) (h i))) =>
     ((- - -) (- - . -) (- -))