Issue #69: Bluetooth data loss; Issue #1/#62: Socket tweaks

Prevent lost/duplicated data on BT.Read.Bytes and BT.Write.
BT.Write: semicolon suppresses newline but does not hold off write.
Change BT_PRINT to generic buildPrintLine for future use.
Socket.Server.Disconnect and .close stop pending connection if any.
Cleanup: use Run STATE constants, remove BluetoothChatService constants.