give the freedom modules a custom api

This gives the `turn`, `transport`, and `net` modules each their own Freedom v0.5 custom API (please note that I've renamed `transport` -> `pipe` to avoid any possible collisions between Freedom's built-in transport API).

The motivation behind doing this now was to workaround messaging issues I discovered while building a sample app -- Will mentioned that giving my modules a custom API would solve the issue.

I'm pretty happy how this turned out:
* removes the `freedom.ts` "wiring" files under each module
* enables the sample apps respond to errors much more cleanly (no more `emit`/`on` messy async coding)

Next step is to move to the new build layout...I already had this pull request in progress.
This IPC stuff seems like a tight binding between these two modules. Also consider using a custom freedom channel for this -  core.createChannel() in one and then pass the identifier to the other, maybe as the return value of bind(), who then calls core.bindChannel().  That will give you the performance improvement that freedom.js sends messages directly between the two modules involved, and they won't also transit through this third module.