Revamp Docker check, more metrics, less bugs, support of CoreOS

Revamp the Docker check and its configuration.

First, it fixes:

* #1031 : catch the exception
* #1027: collect 3 new metrics: containers.stopped, images.available and images.intermediate
* #1017 : is handled by the new logic 
* #1001 : allow to make Docker check work inside a container. The documentation of https://github.com/DataDog/docker-dd-agent/ will need an update. For that, we will have to mount /proc/mounts and /sys/fs/cgoup inside a directory configuration as `docker_root`.

But also:

* Now we can add optional tags in the configuration
* Clarify configuration example
* Support CoreOS

It is also a bit more flexible (if we want to support a new cgroup hierarchy) with better logging/warning.

Nitpick but it can be refactored in:
```python
try:
    containers = self._get_containers(instance, with_size=self.should_get_size)
except (socket.timeout, urllib.URLError) as e:
    # Probably because of: https://github.com/DataDog/dd-agent/issues/963
    # Then we should stop trying to get size info
    self.log.info("Cannot get container size because of API timeout. Stop asking for it.")
    self.should_get_size = False
    containers = self._get_containers(instance, with_size=self.should_get_size)
```