Make caddis usable as a direct require(...)

Moved old lib/caddis.js to lib/caddis/shell.js, to clearly identify as shell and ~/.caddis-related code
Created new lib/caddis.js to give access to clearly exported .shell and .listen
Wrap lib/caddis/server.js in function { } and export it so that the caddis server is directly usable
Add parameters to exported server function so that port can directly be configured, options can be passed to disable/enable logging and a callback can be passed which will be called on completion of server startup