Check definitions from pillar data

These are largely in the same formats expected by the respective macros,
but with named parameters in all cases (bar the check 'name', which since it
must be unique is the key to the check definition).

This allows for pillar data along the lines of:

```
sensu:
  check_definitions:
    graphite_carbon_queue:
      type: graphite
      target: 'carbon.agents.*.cache_size'
    postgres:
      type: procs
    udevd:
      type: procs
      playbook: http://example.com/procs_playbook
    echo_hello:
      command: 'echo hello'
```