b=12974
i=nikita
i=adilger
1) set as "inline" for such large function ("obd_fail_check()") is not suitable,
replaced with normal function "__obd_fail_check_set()".
2) atomic operations for obd_fail_count (replace "static count" in obd_fail_check).
3) use "test_and_set_bit()" for "OBD_FAILED/OBD_FAIL_ONCE" check and set to avoid
unexpected racing condition between multi-thread ops.
4) some cleanup for OBD_FAIL_XXX macro.