Add runloop class with ctor and run()

This is a wrapper around uv_loop_t for use with RAII. It is not complete
yet; many methods must still be written.