(PUP-1369) Package options property / portsutil

I've decided to split PR #2130 into smaller parts. This is one of them.

This PR implements 'portsutil' utility mixins and classes to help searching FreeBSD ports and packages. It also provides methods to manipulate port/package options (build options).

This code was originally developed as a separate puppet module [ptomulik-portsxutil](https://github.com/ptomulik/puppet-portsxutil) and you may find its documentation there.

The 'portsutil' functions are used by the new ports provider present in PR #2130.