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?

Oh yeah that's right, we discussed that when you gave us a talk about Colvin last week.

So I guess that:
- for ES, tag by host and port
- for Postgress, tag by host, port and db (if specified)
- for Redis, tag by host and port