15472 - rewrite puppet agent

- Report idling time in the status action
- Before doing a run check if the agent is disabled and raise proper
  errors
- Add an application plugin with all the usual commands except runonce
- Update docs