fix(feat): better exception handling in uptime collector to pass tests

Unittest "TestUptimeCollector.test_malformed_input" triggered a case of bad exception handling in the uptime collector. Made read() a class method to have access to self.log and I stopped passing the exception object to log method. Not completely sure why we got huge exceptions, but with this fix its stopped.

This has been breaking Travis since some time. Examples for bad runs:
- python 2.6 https://travis-ci.org/python-diamond/Diamond/jobs/31677475
- python 2.7 https://travis-ci.org/python-diamond/Diamond/jobs/31677476