mongo hypergraph (just storage)

doctests use mock collection via `db.test()`
QUERY!

can query with underscores!
the query parser is just the notes parser,
with postprocessing for special underscores.
any variable edges (i.e. with underscores) are matched against the edge label.

$ ./main --write .note
$ ./main --get "_ -> + ACh"

e.g. "piracetam -> + ACh"
its one variable edge is '(causes, piracetam, + ACh)'
its one constant edge is '(more, ACh, + ACh)'

`Op.format()`
e.g. Binop('->').format('x', 'y') == 'x -> y'

`syntax.meaning`
maps verbs (e.g. 'causes') back to operators (e.g. '->')