Added latch() to OutputPins for later optimization or use of a shift
register
Mucked with the data type sizes and got them all cleaned up.  Still not
sure about the ints all over the place for indexes and such, but the
compiler give a warning for indexing with a char so I left them.  They
don't seem to have much of a positive affect anyway.