overhaul of the hex to int conversion

* corrected method name to hex2int (was hex2str)
* use std::stringstream exception to check for conversion errors
* throw a std::invalid_argument exception accordingly
Removed an already fixed TODO entry
I2C methods: TODO entries for parameter checks