Fix jshint warnings "x is better written as y".
Retab.
big tidy up, clean up, simplification
fix comments and require ordering
add note about use of the word server
add test - not working
add dev dependencies and a test command
add a TODO
rework the API a bit
add a header and update some variable names