(PUP-1369) Package options property / package resource

This changeset adds the `package_settings` property to `package` resource. It's intended to be used, for example, with FreeBSD ports to control port options on installed packages (the options normally set with make config).

The sole implementation of `package_settings` is delegated to provider. This changeset only introduces `package_settings` feature and property to the `package` resource type (this defines an interface between `package` type and providers supporting `package_settings`).

Originally the resource type was developed as a separate puppet module [ptomulik-packagex_resource](https://github.com/ptomulik/puppet-packagex_resource).

*update*: changed `package_options` to `build_options`
*update*: changed `build_options` to `package_settings`
*update*: changed `#23084` to `PUP-1369` (issue report was migrated from Redmine to JIRA)