Make MessageLengthHeader more universal as abstract class (not a trait).
Now DataToDevice can take many Array[Byte] to send (it will efficently concatenate it as one ByteString).
Renamed MessageLengthHeader to MessageLengthHeaderCreator. Make it as abstract class and move reusable code to it (from Message65536LengthHeader). Now it will just create  message length header (and will not concatenate it with message as it was previously).
Added Message256LengthHeaderCreator and use it instead of Message65536LengthHeaderCreator.