First pass at service checks for ES, Redis and Postgres

For review. I still need to do some tests locally but I am currently having issues with Colvin on my VM.

Question about service checks: should a service check overlap the agent check failures when an integration is misconfigured? Or should it just report "no data" when an integration is misconfigured?