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!
You sneaky deepcopy :see_no_evil: