Changed PE class to know which pins must be reported back to the user.
Changed UziFirmware.sendPinValues() to check if the pin is marked to be reported before sending back its value. Previously it was sending the values of all inputs, and since all pins are set as INPUT by default it was generating a lot of unnecesary traffic.
Changed Program class to parse the pin modes correctly. Now they come in 6 bytes (3 for the inputs, and 3 for the outputs). When the pin is marked as both input and output, its pinMode is set to INPUT_PULLUP. If it is marked as input, it will set its report flag to true.