Blocking writes for send0, skip implemented, and remove UnsupportedOperationExceptions

This implements blocking for send1, used by NetOutputStream, because the UDT send is not guaranteed to send all bytes, so the existing implementation breaks the contract and leads to issues. I didn't implement it all the send methods, however they should all do the same thing as far as I can tell.

This also adds support for skip and removes some UnsupportedOperationExceptions because they cause issues when wrapping libraries call those methods (when the user doesn't control whether they're called or not).