Define version-sensitive attributes in a recipe

    This allows the postgresql cookbook to continue working after default
    attributes are used to set the postgresql version. The postgresql
    version is used to create many other attributes containing that version
    number.
    
    By defining these version-sensitive attributes in a recipe, they can
    safely be defined knowing that all attributes files have already been
    loaded and that node[:postgresql][:version] has its final value.
    
    Otherwise, setting a default postgresql version in an attribute file
    outside the cookbook has no coherent effect.
    
    A caveat of this is that you can't override any config_version
    attributes anymore using default attributes defined in attribute files.
    You have to use force_default. But it turns out that most of these
    attributes should not really be changed, except for the postgresql.conf
    fields.