Allow Protobuild services to be recommended instead of required

This allows services to be recommended instead of required, which means
they can be disabled with --disable, or by enabling a conflicting
service.

The primary use for this is recommending sane defaults for various
platforms, while still allowing users to override the defaults.