Crafter scoping - fold, unfold take optional crafter name

pattern takes two new keyword arguments:
 - default: if the crafter being associated with the pattern should
    be made the default crafter.  Defaults to True
 - unfold: if an unfold method should be created and set on the
    pattern.  Defaults to True.