* smartctl can return non-zero if there are errors in the SMART logs
* Uses safer method to get JSON data from a command * Replaced nearly all uses of json.loads with new get_json_from_command() * Fixes issue #100