update gemspec to include tests
small fix to js client, store messages in dictionary not array
invoke node error callback on err msgs
js client: rely on message_received callback to dispatch notifications
remove old thread pool
rename thread_pool2 to thread_pool
move nodes into their own directory
reorganize codebase

  this patch does not change anything functional, rather just
  removes / consolidates duplicated code and cleans up module
  heirarchy