Another round of developement to goupr.

- removed callbacks for onclose, onstream, oncommand. Instead stream commands
  are communicated back to the application via channel.
- handle command queueing to mitigate scheduler switching out go-routines.
- refactored code between session.go and stream.go
- auto restart for stream that is not intended to end.
- auto restart for connection that is not intended to close.
- go formating.