move abstracted serial functions out of the serial driver and into aldlcomm.  will make it easier to build other serial drivers later