Break up cuttlefish_generator:add_defaults/2.

* Added cuttlefish_mapping:has_default/1.
* Iterate over the mappings list only once in add_defaults/2. This
  means we check whether the mapping has a default value, and call
  add_default/4 if it does.
* In add_default/4, we check the strict/fuzzy match as before and call
  into add_fuzzy_default/4 if it's fuzzy.
* In add_fuzzy_default/4, we simply search the list for the first
  matching prefix and add defaults for all the associated
  substitutions that are not already present.