removes listeners when webui disconnects

all listeners for inbound events are removed if disconnected from the
server.  this prevents double-event triggers when connection is
restored.

provides an error message if incorrect parameters provided
added server.shutdown

closes watcher instances which inadvertently kept all watched files'
handles open
refactored out file-specifics in watch

make_watch now accepts a callback, which should allow cleaner execution
of future watches.
client can now connect to tails/watches
client can drop tails/watches

refactored server code to handle all file watch types with single
handler.
reduced file_watch to watch/drop

further refactoring for api ease. client does not need to know whether
its a watch or a tail, since only one can exist anyway (unique room name
limitation).

There is no reason to watch AND tail a file, thus this implementation
limitation is acceptable.
Merge remote-tracking branch 'origin/master' into server
fixed issue with delete failing from open tails

pre-emptively closes tails and watches so that the deletion of
awd,bwd,cwd doesn't throw an exception and close the webui.
updated sample commands for webui
prevents 'create' if servername already in use
WORKAROUND: issue when tracking new server

upon creating new server with global.emit, it does not seem to be
tracked/initialized properly in channels[], client-side.

this workaround forces a full server_list reset, which is a working
model, but not ideal.
requests to start server checked if already up

dispatcher now uses a single case/switch for create/delete
'stuff' command ignored if server down
added comments to server.js
rewrote all callbacks to (err, payload) format

makes mineos compatible with async functions
mc.ping and mc.sp rewritten for (err, payload)
remaining async calls rewritten for (err, payload)

restore, start, archive, backup, property
server backend adapted to new callback format
catching screen/java property errors

if a server is down and java_pid or screen_pid is requested, it throws
an error.  this commit returns a true for error in the callback, and a
null retval
fixed property test oversight

downed server should return null