Add option for customizing has_many heading text

This adds additional functionality to the `heading` option for `has_many`. Strings will be used directly, and falsy values disable the heading altogether. Default behavior (generating a heading automatically based on class name) remains the same.