Soycode jsrefactor

This is a typescript->JavaScript refactor, also addressing these issues:
https://github.com/freedomjs/freedom-pgp-e2e/issues/9 (eliminate uproxy-lib dependency)
https://github.com/freedomjs/freedom-pgp-e2e/issues/10 (update to freedom 0.6)

Additionally the demo is now a general freedom app and not a chrome app. That said, it's actually failing in Firefox right now due to an end-to-end error:
"Module Failed" Object { isTrusted: true } freedom.js:1291
Error: Seed is too small. end-to-end.compiled.js:231

I still think it's worth merging as I know other people are interested in looking at crypto code and this is definitely a better starting point. I'll look into the Firefox issue but given that the error is happening on the end to end side the fix may not be in our codebase.
Yeah we definitely do have that expectation, as it's also the way e2e expects things. Agreed that a check here is reasonable, for now I added a regex that I believe will match any instance of "name <email>", with the assumption that a name is any sequence of characters other than <, and then there's a space and a <, and then the email is any sequence of characters other than >, and then a >. In other words, still pretty permissive, but should at least ensure our chopping up of it works.