agent: add support for multiple checks and config mixing

This completes #419 by adding the ability to specify multiple checks using the `checks` key in config files.

Also fixed by this PR is parsing configuration files with multiple types of config in them. Previously, if there was a `check` and a `service` in the same config, only the first would be emitted into Consul's configuration.

Now it should be possible to do something like the following in the same config file:
```
{
    "services": [
        ...
    ],
    "checks": [
        ...
    ]
}
```