15472 - rewrite puppet agent

A basic client application has been added that supports:

  count, enable, disable, runonce, status and summary

The runall functionality is still not available.

The agent had a small update to check if the agent is disabled
prior to running it and if it is disabled the failure message
will show the disable message. For brevity the date format of
the default disable message has also been changed