Solaris/SmartOS: Handle services in maintenance

SMF has a concept of the maintenance state where the
system knows the service is broken which requires an
explicit "svcadm clear <service>"

"svcadm enable -s <service>" returns code 3 when the service
is in maintenance (-s means wait to see how enabling went)

Salt should notice a return code of 3, attempt to clear
the service and try to enable one more time.

Common use case is a broken configuration file.
The user pushes a fix to the config file with salt which should
clear the maintenance state and attempt to enable the service
again.