Live join support

It seems about time to implement live join support. This is the proposed API:

```
var stream = db.joinStream([{
  live: true, // works only on the first condition
  subject: db.v('author1'),
  predicate: 'maintains',
  object: db.v('module'),
},
{
  subject: db.v('module'),
  predicate: 'depends',
  object: db.v('module2')
},
{
  subject: db.v('author2'),
  predicate: 'maintains',
  object: db.v('module2')
});
```

Note that the first `live` condition will just work on upcoming data, and the following will just be evaluated thanks to it.

Things that remains to do:
* [ ] basic join support
* [ ] test complex join situation
* [ ] extract a `db.live` API similar to `db.get`
* [ ] README
* [ ] throw an error if trying to do a live query through a non-streaming method.
* [ ] verify that a "live" condition is always at the top of the query plan.