FFI: use libgc allocs

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
FFI: implement the global reference functions

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
tests: test incr_ref with lots of short-lived (in Nit) objects

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
src: new module annoation to help with annotations

Signed-off-by: Jean Privat <jean@pryen.org>
src: use the new module annotation in exising modules

Signed-off-by: Jean Privat <jean@pryen.org>
nitvm: replace hack by incr_refs

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
tests: set nitvm_args3 as undefined

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
neo4j: try to load nodes from `local_nodes`

Avoid duplication of nodes from `load_node` service.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
neo4j: save and load edges separately from nodes.

Edges must be laoded manually by the user, this allow him to control
the way nodes and edges are loaded in memory and avoir out of memory
exception on big graphs.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
neo4j: preload data from `nodes_with_label` response.

Speed things a little up with this shortcut.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
src: some documentation on parser and model
Merge: src: some documentation on parser and model

So that the new nitdoc has something to display

Pull-Request: #594
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Merge: Annotation helper

New module `annotation` that factorize some common code on users of annotations.

Pull-Request: #596
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Merge: Implement FFI global references in nitg

Finally follows the spec of the FFI.

Works with the `minesweeper` test case by @Freddrickk, but not with nitvm #582 (more on that later).

Pull-Request: #595
Reviewed-by: Jean Privat <jean@pryen.org>
Merge: Neo4j: bug fixes and improvments

Changes:
* avoid node duplication by force loading nodes from local store
* better handling of big graphes through separation of nodes and edges loading
* try to speed things up with nodes data preloading from `nodes_with_labels` response

Pull-Request: #597
Reviewed-by: Jean Privat <jean@pryen.org>