fixed the Freedom interface

Makes it a thenable so that we can always use `new freedom(...)` even when we want to refer to the Thenable continuation that freedom resulting object gives.  

Note: this is intended to be combined with: uProxy/uproxy#660 ; so it does not break https://github.com/uProxy/uproxy/blob/freedom_0.6/src/chrome/app/scripts/plumbing.ts#L111

Tested: 
1. grunt test
2. sym-linked into node modules of uProxy/uproxy#660 grunt test, and loaded the app/extension of uproxy and looked at console for errors. 

Note: it will still need a package version bump for npm publishing. 
@willscott Our code is full of calls to "freedom()"... maybe the problem here is that the same typescript definition is being used for |freedom| in both the app and module environments?