Changed a bit in the communication class
Changed how the IO handling is done

#17 #8 #18

Various IO drivers can now be used to control various IO extenders, like
shift registers, AD converters and more. Each type of remote IO requires
its own IO driver, which can be mounted on the general IO class. This IO
class provides virtual pins which are routed to the various IO drivers.