(#23374) Reimplemented ports package provider

What's inside:

  - package resource extended with build_options,
  - install_options and uninstall_options implemented for freebsd ports,
  - port options implemented (this corresponds to make config stage),
  - portversion (instead of pkg_info) used to list installed packages,
  - portorigins used to internally identify freebsd ports/packages,
  - fixed several issues, that the old ports provider suffered from

It should also be quite easy to adapt it to be compatible with pkgng.

initially imported packagex and vash projects