move sieve.js out of lib
fix conflict in package.json
move template logic into its own file
moved validation and error into separate files
move select logic into its own file
remove all trailing whitespace
splitting out files more.  added jsinitrc
move hash into helpers
rework error handling
improve error throwing
added another port override
merge from master