Fix #432 - Bring back synchronous sitekey verification functions
This code is mostly brought back from !558 (merged) because it turns out we still need it.
It reintroduces two dependencies:
- Rusha calculates SHA1 hashes. It's now pulled from NPM to make it easier to update in future.
- JSBN is a BigInteger library. This is vendored in because we have some modifications.