Add extra check for getAllValidTMPKeys()

- We check that the sensor value is not zero. Some sensors while valid, report
  no tmp. For example, HEATSINK_0.
- Have readSMC() return data type and size. Will use this for safety checks
  higher up.
Add comments about valid SMC keys

- Make getAllValidTMPKeys() check for != 0 rather than > 0. Maybe comp can
  run at below zero? :)
- Update README - add libsmc ref