Fix digital report

Theres a bug in current release mistakes pins for port in digtal report. 

Further more the existing code actually set the pins several times for some reason 
D0 01 D1 01 D2 01 D3 01 D4 01 D5 01 D6 01 D7 01 D8 01 D9 01 DA 01 DB 01 DC 01 DD 01 DE 01 DF 01 D0 01 D1 01 D2 01 D3 01
 
Generally speaking, port would 0 contains pins D0-D7

You would send 0xD0 0x00 to set all pins on port 0 off, or 0xD0 0xFF to set all pins on.

This requires you maintain an internal state of pins (which you already do) and send the neighbor pins on that port or know that you're altering their state.

Created a _getPortValue function to generate that state so we can safely set pins.



So d0-df get digital reporting for their second pin turned on. then d0-d3 get it turned on again.





properly implemented reportdigital on startup, though commented it out a......s probably a breaking change