Add service check to the SNMP check

Add a service check "snmp.can_check".

Since `pysnmp` doesn't distinguish network errors, MIB errors, ... I only report a check if we manage to collect all the metrics properly.

In the same time:
* Add tests to cover the service check
* Make timeout/retries changeable in the tests to run faster

I also thought about building service check from the configuration (report a specific OID as a service check) but I'm not sure that it makes sense/it is useful. So I think that it's good for now!
If we look at line 140/141, we can set `service_check_error` without raising, and because you never reset this key in the `instance` dict, it will fail indefinitely?