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:
      type: basic
      command: 'echo hello'
```
Standalone checks require restart of client...

... and regular checks require restart of the server components

This fixes an issue where checks defined on the sensu clients --
namely standalone checks -- would error due to being unable to
watch_in the (unincluded) sensu-server state.
Always quote the graphite target metric_name

There is no reason not to, and it means less accidential errors
in the definition (eg when brackets are used).
Add ability to install 'embedded' gems for Sensu

Many of the sensu community plugins require RubyGems to be installed,
for example the redis and mongodb checks require 'redis' and 'mongo' gems
respectfully.

Allow the user to set which gems are needed on a per-role basis, so not
to slow down Salt.
Add apparmor playbook, fixes #42
update CHANGELOG
Fix apparmor warning message
Update docs regarding checks-as-pillar-data
Merge pull request #47 from ministryofjustice/sensu_checks_from_pillar

Sensu checks from pillar; fix some bugs; allow sensu gems to be installed