Added testing using travis and exposed a completer interface as well as modified how streams are closed on end