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.
can we change from ```full``` and ```default``` which do the same thing to:
```grunt demo``` which builds and then runs connect and
```grunt``` which builds and runs the phantom tests?