fix for colliding streams.
Added new specialized storage. It garantees collision-free stream allocation in constant time. Also has a property that reuses most recently deallocated streams
stabilizing stream allocation.
Now it always uses most recent one, not next to the recent as before.
code cleanup
removed incorrect stop of the service
formatting, removed exception, minor tweaks
1. In case of a error, corresponding callaback is called.
2. added reservation for internally used stream id (0) to
   avoid (unlikely) situation when there is no ids left for internal calls.
Signing off copyright
merge pull request #25, closes issues #6 and #25