added ping message and support for empty buffers
much better test coverage
added travis