BDataIO: Provide default implementations for Read()/Write()

This makes the interface somewhat more suitable for unidirectional use,
since one doesn't have to implement the other, not needed method.
Add new error codes B_PARTIAL_{READ,WRITE}
BDataIO: Add methods {Read,Write}Exactly()
Remove BPackageKit::BDataOutput

Use BDataIO instead.
Remove BPackageKit::[...]::AbstractDataWriter and friends

* FDDataWriter and ZlibDataWriter weren't used anymore.
* AbstractDataWriter was implemented only by PackageFileHeapWriter,
  which was only used by WriterImplBase.
* Add a PackageFileHeapWriter::AddDataThrows() which has semantics
  equivalent to the previously inherited WriteDataThrows().
BDataIO: Hopefully fix native build