Scrub

Let me know what you think! @mohit @jonahkagan 

(this is going to branch pr_onto because my first few commits went to master and so you wouldn't see the full PR. Once we merge this to pr_onto we can set it as master)
you'll want a separate .npmignore file, otherwise npm will use .gitignore and lib-js won't be packaged in the published tar (see https://www.npmjs.org/doc/misc/npm-developers.html)