skeleton of TAP in luvit using stream2 interface

not many assertion types yet
typo writter -> writer
move lib/modules to modules
API refactor
more stream-like
less verbose code
local function _equal
making all three parameters required
make multiple TestSuites work
using process.stdout instead of a self-written stdout Writable
added json dumper back in; type checking in test_runner
add simple tap example; rename examples
remove unnecessary pipe() options in init.lua
test_suite.lua: push as soon as test is queued

call self:push() as soon as test is queued rather than wait until
_read() being called. Also, bump stream version.
add author/license/repo info
use multiple test files for multiple test suites
rename run.lua to init.lua
function scope tweak
use stream of streams for multiple test suites
add the two directives in TAP version 13 (skip and TODO)