update rust, less unsafe, Makefile, use Result, ..

* use rust master version as library version
* add available_ports
* make stream available for buffering (through Option)
* detailed test suite