Updating npm post-publish steps

Doing a file-by-file reversion was not working for files housed in submodules (e.g. external/shared).  I changed the work flow to just do a hard reset of the main repo and all submodules.

Be careful when running postpublish.js now!  You could lose staged changes in your repo.
Merge pull request #376 from khawkins/fix_npm_post_publish

Updating npm post-publish steps
Merge pull request #377 from bhariharan/master

BC doesn't have a SecureRandom function, only Mac and Cipher
More granular symlink rollback on postpublish
Merge pull request #380 from khawkins/less_invasive_postpublish

More granular symlink rollback on postpublish
PRNG fixes for Jellybean