improved comments, layed out requrements in GPIO.h, these will move eventually, created some function skeletons, changed the ADT to be a lower level of control