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!
I kept the previous logic around error_indication and error_status, however in both case I'll return a ERROR service check.
So this service check will be ERROR if we get at least one error somewhere, OK otherwise.