file: beginnings of "file:" protocol impl

Squashed commit of the following:

commit 153b8a8a5373f259f83f0b2c433094885e79acbe
Author: Bent Cardan <reqshark@users.noreply.github.com>
Date:   Mon Jan 6 16:20:42 2014 -0500

    Delete example.js

commit 68caecf243b536847262e0c2779144096c54d802
Author: Bent Cardan <bent@shakelaw.com>
Date:   Mon Jan 6 16:16:47 2014 -0500

    nevermind, just throw error on bad paths

commit cec944550b272a0e2d72262f343c925b08eb56e7
Author: Bent Cardan <bent@shakelaw.com>
Date:   Mon Jan 6 15:00:45 2014 -0500

    clean up error message

    keepin it more @TooTallNate, it's better written like this

commit 83383e4cf478f7c5f79a8aed7d52afed9755ac3a
Author: Bent Cardan <bent@kickr.io>
Date:   Mon Jan 6 14:40:59 2014 -0500

    file protocol readable

Closes #2.
ftp: fix `onfile()` error handling