Create pre-sliced arrays of repeated. This removes one slice() on each hash input and improves performance by approximately 15%.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71935961
Remove our dependence on goog.math.safeceil(). safeceil would only matter for sha1 if we had a salted passphrase that was > 500TB.

Remove the if (num_zero_prepend > remaining) check because prepended zeros do not count towards the number of hash input bytes.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71941156
Compiled Soy templates no longer use --shouldProvideRequireJsFunctions compiler flag (this is unavailable in open-source Soy).
Removed compiled Soy templates from MOE build - they will be now built with OSS build environment (./do.sh).

Fixes https://code.google.com/p/end-to-end/issues/detail?id=121
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72049214
Make keyring's generate key function asynchronous and add an optional parameter
to it for the location of the key to be generated. (For now I'm delaying on the
UI for asking the user where the key should go.)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72067763
Merge commit 'd3b68e54f91bd18a512d7e2bdc8ef612141af396' into s2k-sha256

Conflicts:
	javascript/crypto/e2e/openpgp/s2k.js
Added primitive performance test harness.