Addition of Checks API to agent

Adds check api to register, deregister and inspect node and service level checks with the agent. The status of TTL based checks can also be set.

Hrm.. my instinct on this one is just to repeat this 3 times for pass, warn and fail. Trying to avoid indirection, and it's not a lot of duplicated code.