Next gen provisioning

Description
-----------
- Internationalized the provisioning templates
- Added compliance check to OPSWAT using the normal flow (delayed violations)
- Refactored code in the provisioners
- Added documentation for OPSWAT compliance
- Added a child to pfmon to poll the provisioning APIs for devices that need verification on their compliance
- Implemented the above feature for OPSWAT

Impacts
-------
- Adds a child to pfmon
- Devices can get isolated for noncompliance without reauthenticating
- Fixes issues with current provisioning templates + configuration.

Delete after merge 
-------
Nobody deletes my branches...
I like having a general error code for provisioning fail. It can fail for various reasons but the result is the same, not isolate or enforce something on a device when the communication failed.

So I wouldn't use HTTP codes for that but I could move the constant to pf::error if you think that's good enough